【问题标题】:Mysql connection doesn't work with "using"Mysql 连接不适用于“使用”
【发布时间】:2013-11-13 20:19:56
【问题描述】:

我正在尝试这个

string query = "SELECT * FROM teams ORDER BY name";

using(MySqlConnection dbConn = new MySqlConnection(conn))
{
    MySqlCommand cmd = new MySqlCommand(query, dbConn);
    MySqlDataReader dataReader = cmd.ExecuteReader();

但它在 MysqlCommand 行上返回一个错误,说 Connection 必须有效且打开。有人知道我在做什么错吗?

【问题讨论】:

  • 错误信息很清楚 IMO..

标签: c# mysql mysqlconnection


【解决方案1】:

你还没有在你的代码中打开连接,你应该调用

dbConn.Open();

using 声明无关。

string query = "SELECT * FROM teams ORDER BY name";
using(MySqlConnection dbConn = new MySqlConnection(conn))
{
    MySqlCommand cmd = new MySqlCommand(query, dbConn);
    dbConn.Open();//here **
    MySqlDataReader dataReader = cmd.ExecuteReader();

using 语句仅确保您的连接对象将在作用域之后被释放,它不会打开连接本身。

【讨论】:

  • 你也应该将命令对象包装在 using 中,Habib。无论如何 +1。
猜你喜欢
  • 2017-09-28
  • 2016-03-21
  • 2020-10-12
  • 2018-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-02
  • 1970-01-01
相关资源
最近更新 更多