我正在尝试编写一个函数来检查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,主机),我应该怎么做才能检查连接是否成功
谢谢你
答案 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;