DataReader 循环查询中的 C# MySQL 查询
Posted
技术标签:
【中文标题】DataReader 循环查询中的 C# MySQL 查询【英文标题】:C# MySQL Query in DataReader loop query 【发布时间】: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();
【问题讨论】:
一些代码会很有帮助。 在此处提及您的代码。 【参考方案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 方法。
【讨论】:
我之前检查过,但我不确定这是否会有所帮助。我想在阅读过程进行时插入。如果我关闭连接,我将无法阅读。 我可以使用两个并行连接吗?以上是关于DataReader 循环查询中的 C# MySQL 查询的主要内容,如果未能解决你的问题,请参考以下文章
传递给wcftestclient时如何循环datareader?