【问题标题】:MySqlConnection object doesn't have state property? (C#)MySqlConnection 对象没有 state 属性? (C#)
【发布时间】:2011-08-21 13:49:33
【问题描述】:

我正在从 C# 应用程序查询。我可以这样做:

MySqlConnection conn = new MySqlConnection(conString);
conn.Open();
//do database operation

现在如何获取conn 对象的连接状态?奇怪的是,我得到了显示 MySqlConnection 对象的 State 属性的智能感知下拉列表,并自动引导我到 ConnectionState 枚举,我可以从中进行选择。我可以写下面的代码:

if (conn.State == ConnectionState.Open)
    //print "Open"

但是当我仔细检查时,我了解到ConnectionState 枚举的类型是System.Data!!当我将它与 MySqlConnection 对象等同时,如何自动得到它??

另外,我如何获取 MySQL 连接的连接状态,如下所示:

if (conn.State == //equal to what?

【问题讨论】:

  • ? ConnectionState 在命名空间 System.Data.Common 中有什么问题? MySqlConnection 是从 DBConnection 派生的,它暴露了ConnectionState
  • 哦,我不知道。我的应用程序太大,我还没有编译它。让我看看..
  • 那我觉得没问题
  • @Oskar Kjellin 感谢奥斯卡的帮助。让我编译一下看看。
  • @Oskar Kjellin ,如果您可以将其发布为答案,不仅我可以将其标记为答案,而且它也可以帮助将来的人快速理解。谢谢..

标签: c# mysql c#-2.0 mysqlconnection


【解决方案1】:

MySqlConnection 派生自 DBConnection,这是一个抽象类,定义了所有数据库连接的行为方式(派生自 DBConnection)。因此,所有这些连接都会暴露ConnectionState,它位于System.Data.Common 命名空间中。所以这是有效的:

if (conn.State == ConnectionState.Open)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    • 2012-12-01
    • 2021-08-03
    相关资源
    最近更新 更多