0

我正在尝试编写一个函数来检查表单上给出的连接详细信息是否有效,因此它返回 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;


    }

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

谢谢

4

2 回答 2

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 可能会在大多数异常情况下失败,包括凭据错误或连接字符串无效。

于 2013-02-04T12:02:12.307 回答
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;
于 2013-02-04T12:04:18.167 回答