1

我有一个 Windows 应用程序表单,可以在其中输入 IP 以连接到 MySQL 数据库。我需要的帮助是如何编程,这样如果输入 IP 不存在或没有响应,我的表单应该返回一条消息并连接到默认 IP,即 localhost。

4

2 回答 2

1

你可以尝试这样的事情:

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;
    }
}
于 2012-10-20T15:32:55.543 回答
0

您可以先尝试连接到远程数据库,如果由于某种原因失败(当 IP 有效但没有mysqld服务器正在运行且无法访问时,它也可能失败),连接到本地数据库(但通知用户) .

于 2012-10-20T14:58:15.497 回答