您当前的位置: 首页 > 

要求已打开且可用的 Connection。连接的当前状态为已关闭。

发布时间:2015-08-15 12:59:09 ,浏览量:0

C#使用OleDB操作ACCESS Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + NewFileName + “;User Id=uid;Jet OLEDB:Database Password=pwd;”;

完整错误信息: {System.InvalidOperationException: ExecuteScalar 要求已打开且可用的 Connection。连接的当前状态为已关闭。 在 System.Data.OleDb.OleDbConnection.CheckStateOpen(String method) 在 System.Data.OleDb.OleDbCommand.ValidateConnection(String method) 在 System.Data.OleDb.OleDbCommand.ValidateConnectionAndTransaction(String method) 在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) 在 System.Data.OleDb.OleDbCommand.ExecuteScalar() 在 Public.DB.CheckTableIfExist(String tablename, String condition) 位置 Public\DB.cs:行号 136 在 MyIni.GetCompanyName() 位置 Program.cs:行号 293 在 Program.Main() 位置 Program.cs:行号 734}

错误原因: 连接的当前状态为已关闭。或者只创建了Connection对象,没有调用 Connection.Open()方法; 也就是:connection.State != ConnectionState.Closed

解决方法: 调用Connection.Open()方法; 或者添加判断,例如下面的代码:

if (MyIni.Gs_con.State != ConnectionState.Closed)
 {
     OleDbCommand mysc = new OleDbCommand(sqltext, MyIni.Gs_con); //tools.MB(sqltext); result = tools.fieldnullint(mysc.ExecuteScalar()); if (result == 0) return false;
 }
关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    106485博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.4697s