C#MySQL连接多个select语句

时间:2011-06-20 17:21:33

标签: c# mysql winforms select

我可以从我的WinForms应用程序连接到MySQL数据库。问题是,一旦我登录,如何在不必再次登录的情况下执行多个select语句?

MySqlConnection connection = new MySqlConnection(MyConString);
connection.Open();

MySqlCommand command = connection.CreateCommand();
MySqlDataReader Reader;

command.CommandText = "select id from user ";

然后我想为另一个表执行select语句,而不必再次创建连接。 我该怎么做呢? 我似乎无法做connection.CreateCommand

2 个答案:

答案 0 :(得分:2)

只要查询在同一个区块内,您就可以使用相同的连接。但是,一旦关闭,您需要重新打开它。

using( YourConnectionObject )
{
   ... open connection ...
   ... create your sql querying object... and command 
   SQLCommand.Connection = YourConnectionObject;

   Execute your Query

   SQLCommand.CommandText = "a new sql-select statement";

   Execute your NEW query while connection still open/active

   SQLCommand.CommandText = "a third sql-select statement";

   Execute your THIRD query while connection still open/active

   ... close your connection
}

但是,在您的应用程序中,您可以拥有一个“连接”对象,例如在应用程序级别,或者在表单级别具有必要的登录/连接设置。然后,在每个表单的内部,您可以

Open
Run Query
Run Query
Run Query
Close

根据需要。

答案 1 :(得分:0)

我看到你正在使用DataReader。每个连接一次只能打开1 DataReader个。 using块可以派上用场:

using( var reader = myCommand.ExecuteReader() ) {
    while (reader.Read()) {
        // get values, do stuff
    }
}// reader gets closed

您只在问题中的代码中提示(当前),但这可能是您问题的一部分。您还没有展示如何使用DataReader,所以我不确定。只是一种可能性。