具有一个连接的多个SQL命令

时间:2013-12-05 11:43:34

标签: c# asp.net asp.net-mvc-4

我需要执行多个命令,但只需一个连接。以下是一个例子

MySqlCommand myCommand = myConnection.CreateCommand();
MySqlCommand myCommand2;

myCommand.CommandText = "Some query text"

MySqlDataReader myReader = myCommand.ExecuteReader();

while (myReader.Read())
{

    myCommand2 = myConnection2.CreateCommand();

    myCommand2.CommandText = "Query with parameters from myCommand"

    MySqlDataReader myReader2 = myCommand2.ExecuteReader();

    while (myReader2.Read())
    {

    }

}

我希望只使用一个myConnection来执行此代码,这可能吗?因为如果我删除myConnection2并将其替换为myConnection,我会收到错误,因为第一个命令仍处于打开状态。

2 个答案:

答案 0 :(得分:0)

尝试添加“POOLING = FALSE;”在MySQL ConnectionString的末尾。

答案 1 :(得分:0)

打开一个连接并构建一个

public static object QueryHelper(string command)
{
    ...
}

使用

public static bool ReadyToQuery;

等到第一个命令结束才能运行第二个命令。

只是因为每个连接只能一个读者