1

MySQLデータベースに接続するためにIPを入力できるWindowsアプリケーションフォームがあります。私が必要とする助けは、プログラムする方法です。入力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 に答える