我有一个Windows应用程序表单,可以输入IP以连接到MySQL数据库。我需要的帮助是如何编程,这样如果输入IP不存在或者没有响应我的表单应该返回一条消息并连接到默认IP,即localhost。
答案 0 :(得分:0)
您可以先尝试连接到远程数据库,如果由于某种原因失败(当IP有效时也可能失败,但没有mysqld
服务器正在运行且可在那里访问),请连接到本地数据库(但通知用户)。
答案 1 :(得分:0)
您可以尝试这样的事情:
MySqlConnection connection;
if (this.TryConnect("xxx.xxx.xxx.xxx", out connection))
{
// display error message here
}
else if (this.TryConnect("localhost", out connection))
{
// code here
}
以下是TryConnect函数的样子:
public bool TryConnect(string ServerIP, out MySqlConnection connection)
{
try
{
const string connectionString = "Server={0};Database=<database>;Uid=<username>;Pwd=<password>;";
var conn = new MySqlConnection(string.Format(connectionString, ServerIP));
conn.Open();
conn.Close();
connection = conn;
return true;
}
catch (Exception)
{
connection = null;
return false;
}
}