c#操作mysql怎么判断连接已经被断开

c#操作mysql怎样判断连接已经被断开?
程序运行一夜未操作,早上操作起来时,立即提示软件崩溃,经调试发现,是mysql服务器端超时断开了连接导致。
解决的办法可以把mysql的wait_timeout调大。但是在代码里怎样判断呢?
在执行ExecuteReader前判断
if(conn == null) 
  connectMysql();
但是调试发现,就算连接断开,conn也不会为空。
该怎样判断呢?
------解决思路----------------------
判断它的连接状态呀
------解决思路----------------------
判断Conn.State==ConnectionState.Closed
------解决思路----------------------
不要判断conn == null
它永远也不会变成null的,除非你用代码重新给它赋值
你应该判断conn.State

或者有个简单的办法,不要使用长连接,每次执行SQL语句之前connect,执行完毕后close
------解决思路----------------------
Connection.State
// 当然你如果无法确定
// 可以这样做 先

Connection.Close() // 这是不会报错的语句
这样你便可以确定是否已经关闭连接

当然你如果绝对还容易报错那么填上
try
{
}
catch
{
}
------解决思路----------------------
代码有问题.

正常就是连接 打开 操作 关闭 所以 不存在是否关闭之类的问题..

所以 从你说的错误来看 你一定连个close都没有...
------解决思路----------------------
mysql服务器端超时断开了连接


。。。。


看你这说法,你该不会将程序一直连接着MYSQL吧? 
用的静态连接,每次只是去增删改查?

每次数据库操作后,就需要马上关闭。。。
------解决思路----------------------
用ConnectionState就可以判断链接的状态。
------解决思路----------------------
每次打开后就关闭,NET有连接池的概念,你不要关,注意打开关闭就行。
connection记得用全局变量,别在方法中new