【问题标题】:C# MySQL Query in DataReader loop queryDataReader 循环查询中的 C# MySQL 查询
【发布时间】:2013-05-27 07:15:10
【问题描述】:

我在 C# 中有一个方法,它应该从 mysql 获取一些数据,然后将这些数据插入另一个表中。
问题是,无论我尝试什么,我都会得到another datareader is open
我尝试使用using 语句,但没有成功,也许我做错了。
该怎么做?

public void MethodName(List<string> objects)
{
    foreach(string Object in objects){
        SQLActions.Initialize();
        SQLActions.SQL_Open();
        MySqlDataReader queryData = SQLActions.SQL_Query("SELECT...query...");

        MySqlDataReader objectsData = SQLActions.SQL_Query("Another select....");
        SQLActions.SQL_NonQuery("Insert...");
        while(queryData.Read()){
            SQLActions.SQL_NonQuery("Another Insert...");
        }
        SQLActions.SQL_Close();
    }
}

【问题讨论】:

  • 一些代码会很有帮助。
  • 在此处提及您的代码。

标签: c# mysql datareader


【解决方案1】:

您可能对 DataReader 和 ExecuteNonQuery 使用相同的连接。这不受支持,根据 MSDN:http://msdn.microsoft.com/en-us/library/haa3afyz(v=vs.80).aspx

检查一下:

C# mySQL There is already an open DataReader associated

来自微软:

您应该始终在使用完 DataReader 对象后调用 Close 方法。

【讨论】:

  • 我之前检查过,但我不确定这是否会有所帮助。我想在阅读过程进行时插入。如果我关闭连接,我将无法阅读。
  • 我可以使用两个并行连接吗?
猜你喜欢
  • 2013-03-11
  • 1970-01-01
  • 2015-02-15
  • 2017-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-24
  • 1970-01-01
相关资源
最近更新 更多