0

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;


    }

指定された詳細 (ユーザー、パス、データベース名、ホスト) に基づいて接続が成功したかどうかを確認するにはどうすればよいですか?

ありがとうございました

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 に答える