关闭Reader时尝试读取无效-MySqlDataReader C#

尝试从DataReader读取时,Invalid attempt to read when Reader is closed在我的duplicateNameCheck方法中获取异常。我不知道为什么。任何帮助是极大的赞赏!


public static MySqlConnection GetSqlConnection() {

    MySqlConnection connection = new MySqlConnection(connectionString);


    return connection;

}


public static MySqlDataReader ExecuteReader(string sqlQuery, MySqlConnection connection) {

    using (MySqlCommand command = new MySqlCommand(sqlQuery, connection)) {     

        try {

            connection.Open();                                      

            MySqlDataReader sqlReader = command.ExecuteReader();    


             return sqlReader;                                       

         } catch (Exception ex) {

             MessageBox.Show(ex.Message);                            

             return null;                                            

         }

    }

}


public static bool duplicateNameCheck(string inName) {

    String sqlQuery = "SELECT * FROM Account";    


    using (MySqlDataReader sqlReader = SQLHelper.ExecuteReader(sqlQuery, SQLHelper.GetSqlConnection())) {


        while (sqlReader.Read())

        {                     

            if (inName.Equals(sqlReader[1].ToString(), StringComparison.InvariantCultureIgnoreCase))

            {  

                return true;

            }

        }

    }

    return false;                                       

}


小唯快跑啊
浏览 437回答 1
1回答

德玛西亚99

您在尝试使用它产生的SqlReader之前先处置SqlCommand。他们都需要保持开放,直到您完成阅读器操作为止。
打开App,查看更多内容
随时随地看视频慕课网APP