如何检查MySql Server的连接详细信息是否有效?

时间:2013-02-04 11:59:11

标签: c# .net mysql

我正在尝试编写一个函数来检查Form上给出的连接详细信息是否有效,因此返回True,否则返回False:

我怎样才能实现这个目标?

我的代码如下:

 private bool checkConnectionSuccess(string host, string user, string pass, string dbname) {
        string strProvider = "Data Source=" + host + ";Database=" + dbname + ";User ID=" + user + ";Password=" + pass;
        MySqlConnection myConn = new MySqlConnection(strProvider);
        myConn.Open();  

        if (________) return true; else return false;


    }

根据给定的详细信息(用户,密码,dbname,主机),我应该怎么做才能检查连接是否成功

谢谢你

2 个答案:

答案 0 :(得分:1)

使用try catch块:

private bool checkConnectionSuccess(string host, string user, string pass, string dbname)
{
   string connectionString = "Data Source=" + host + ";Database=" + dbname + ";User ID=" + user + ";Password=" + pass;

   bool sucessful = true;

   using (MySqlConnection conn = new MySqlConnection (connectionString))
   {
     try
     {
       conn.Open();
     }
     catch (MySqlException ex)
     {
       sucessful = false;
     }
   }
    return sucessful;
}

这是可能的,因为MySQLConnection可能会在大多数异常中失败,包括凭据错误或连接字符串无效。

答案 1 :(得分:1)

使用try-catch块,并设置一个标志,告诉它是否有效。

string strProvider = "Data Source=" + host + ";Database=" + dbname + ";User ID=" + user + ";Password=" + pass;
MySqlConnection myConn = new MySqlConnection(strProvider);

bool success = true;

try
{
    myConn.open();
}
catch (Exception e)
{
     success = false;
}

return success;