C# 读卡器关闭时尝试读取无效

C# 读卡器关闭时尝试读取无效,c#,sqldatareader,C#,Sqldatareader,我正在处理C#和MySql请求。我试图在我的数据库中检索数据,但有一条错误消息:当读卡器关闭时,读取的尝试无效 谢谢你们的帮助,伙计们:) 我有这个功能: public MySqlDataReader GetValueFromTable(string table, ArrayList attribut, ArrayList parameter) { string query = string.Empty; MySqlDataReader rdr = null; tr

我正在处理C#和MySql请求。我试图在我的数据库中检索数据,但有一条错误消息:当读卡器关闭时,读取的尝试无效

谢谢你们的帮助,伙计们:)

我有这个功能:

public MySqlDataReader GetValueFromTable(string table, ArrayList attribut, ArrayList parameter)
{
   string query = string.Empty;
   MySqlDataReader rdr = null;      
   try
   {
      query = "SELECT * FROM `" + table + "` WHERE ";
      for (int i = 0; i < attribut.Count; i++)
      {
         query += attribut[i] as string;
         query += " = ";
         query += parameter[i] as string;

         if(i != attribut.Count - 1) 
            query += " AND ";
      }

      query += ";";

      using (mysqlConnection)
      {
          using (mysqlCommand = new MySqlCommand(query, mysqlConnection))
          {                  
             rdr = mysqlCommand.ExecuteReader();
          }   
      }
   }
   catch (Exception ex)
   {
      Debug.Log(ex.ToString());
   }
   finally {}

   return rdr;
}

using块在此关闭连接(在退出时)


您的阅读器正在关闭,因为它被包装在using语句中。当命令和连接被释放时,读卡器也被释放。在处理读卡器之前,您需要先取出数据。

如果我没有弄错的话,是using语句杀死了读卡器。一旦using块终止,IDisposable将启动MySQLConnection,关闭并处理与数据库的连接。

rdr是如何使用的?当连接周围的using块退出时,连接关闭,读卡器也随之关闭。在不同的场景中出现相同的错误
ArrayList attribut = new ArrayList();       
ArrayList parameter = new ArrayList();

attribut.Add("usern_id"); 
parameter.Add("1");     
MySqlDataReader reader = dataBase.GetValueFromTable("papillon", attribut, parameter);
reader.Read();
Debug.Log(reader[0]);
reader.Close();
using (mysqlCommand = new MySqlCommand(query, mysqlConnection))