c#操作mysql怎样判断连接已经被断开? string status = conn.State.ToString();//这里就算连接断了,status还是Open if (conn == null) { Console.WriteLine("Database server is disconnect..."); initMysql(); } 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 判断Conn.State==ConnectionState.Closed 不要判断conn == null它永远也不会变成null的,除非你用代码重新给它赋值你应该判断conn.State或者有个简单的办法,不要使用长连接,每次执行SQL语句之前connect,执行完毕后close 如果必须使用长连接,你也可以在sql语句执行不成功的时候重新connect,然后重新执行sql语句而不是必须去管conn.State到底是什么 Connection.State// 当然你如果无法确定// 可以这样做 先Connection.Close() // 这是不会报错的语句这样你便可以确定是否已经关闭连接当然你如果绝对还容易报错那么填上try{}catch{} 代码有问题.正常就是连接 打开 操作 关闭 所以 不存在是否关闭之类的问题..所以 从你说的错误来看 你一定连个close都没有... mysql服务器端超时断开了连接。看你这说法,你该不会将程序一直连接着MYSQL吧? 用的静态连接,每次只是去增删改查?每次数据库操作后,就需要马上关闭 用ConnectionState就可以判断链接的状态。 明白了,这东西得用连接池,是不是?我是多线程的,怪不得容易出问题,以前不是提示连接必须被打开,就是reader必须先关闭。用连接池每次操作数据库后马上关闭,进行压力测试,很正常。 的确是,每个reader都有close,但还是阻止不了reader未关闭的错误。 每次打开后就关闭,NET有连接池的概念,你不要关,注意打开关闭就行。connection记得用全局变量,别在方法中new 求一正则表达式? 怎么把图片保存到SQL中? 求解散分~~~ C# 中如何捕捉鼠标滚动事件 初学者关开vs.net问题 在c#代码中有无办法让页面刷新一次? C#中如何制定任务计划? 这类警告啥意思,求详解 WPF Toolkit 显示未能加载文件或程序集WPFToolkit c#中用OleDb连接MySQL的连接字符串是什么?在线等待 怎么让某个TabPage一直能显示? C#窗体应用程序链接Sqlite数据库的问题
它永远也不会变成null的,除非你用代码重新给它赋值
你应该判断conn.State或者有个简单的办法,不要使用长连接,每次执行SQL语句之前connect,执行完毕后close
而不是必须去管conn.State到底是什么
// 当然你如果无法确定
// 可以这样做 先Connection.Close() // 这是不会报错的语句
这样你便可以确定是否已经关闭连接当然你如果绝对还容易报错那么填上
try
{
}
catch
{
}
。
看你这说法,你该不会将程序一直连接着MYSQL吧?
用的静态连接,每次只是去增删改查?每次数据库操作后,就需要马上关闭
明白了,这东西得用连接池,是不是?
我是多线程的,怪不得容易出问题,以前不是提示连接必须被打开,就是reader必须先关闭。
用连接池每次操作数据库后马上关闭,进行压力测试,很正常。
connection记得用全局变量,别在方法中new