日期:2014-05-18  浏览次数:20481 次

如何快速及准确的检测数据库连接状态!
我是这样写的
  private bool isonline(string conip, string user, string pass,string condataname)
  {
  string connectionString = "Data Source=" + conip + ";Initial Catalog=" + condataname + ";Persist Security Info=True;User ID=" + user + ";Password=" + pass + ";";
  SqlConnection cn = new SqlConnection(); 
  cn.ConnectionString=connectionString;
   
  try
  {
  cn.Open();
  return true;
   
  }
  catch
  {
  return false;

  }
  finally
  {
  cn.Close();
   
  }
   

  }
我是用cs应用程序检测的,但往往用上面的方法不能准确的检测,明明数据库我关闭了,但是还是返回的true,,后来我用 cn.State这个状态值判断,但不知为什么,能够连接的数据库也显示closed,请高手帮忙指点!!

------解决方案--------------------
try 

cn.Open(); 
return true; 


catch 

return false; 


finally 

cn.Close(); 
return false; 


这样写看怎么样,