文件首頁
MySQL Connector/NET 開發人員指南
相關文件 下載本手冊
PDF (US Ltr) - 1.3Mb
PDF (A4) - 1.3Mb


4.3 處理連線錯誤

由於連線到外部伺服器是不可預測的,因此在您的 .NET 應用程式中新增錯誤處理非常重要。當連線時發生錯誤時,MySqlConnection 類別會傳回 MySqlException 物件。此物件有兩個屬性在處理錯誤時很有用

  • Message:描述目前例外狀況的訊息。

  • Number:MySQL 錯誤編號。

在處理錯誤時,您可以根據錯誤編號調整應用程式的回應。連線時最常見的兩個錯誤編號如下

  • 0:無法連線至伺服器。

  • 1045:使用者名稱、使用者密碼或兩者都無效。

下列程式碼範例示範如何根據實際錯誤管理應用程式的回應

C# 範例

MySql.Data.MySqlClient.MySqlConnection conn;
string myConnectionString;

myConnectionString = "server=127.0.0.1;uid=root;" +
    "pwd=12345;database=test";

try
{
    conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString);
    conn.Open();
}
    catch (MySql.Data.MySqlClient.MySqlException ex)
{
    switch (ex.Number)
    {
        case 0:
            MessageBox.Show("Cannot connect to server.  Contact administrator");
            break;
        case 1045:
            MessageBox.Show("Invalid username/password, please try again");
            break;
    }
}

Visual Basic 範例

Dim myConnectionString as String

myConnectionString = "server=127.0.0.1;" _
          & "uid=root;" _
          & "pwd=12345;" _
          & "database=test"

Try
    Dim conn As New MySql.Data.MySqlClient.MySqlConnection(myConnectionString)
    conn.Open()
Catch ex As MySql.Data.MySqlClient.MySqlException
    Select Case ex.Number
        Case 0
            MessageBox.Show("Cannot connect to server. Contact administrator")
        Case 1045
            MessageBox.Show("Invalid username/password, please try again")
    End Select
End Try
重要

如果您使用多語言資料庫,則必須在連線字串中指定字元集。如果您未指定字元集,連線預設為 latin1 字元集。您可以將字元集指定為連線字串的一部分,例如

MySqlConnection myConnection = new MySqlConnection("server=127.0.0.1;uid=root;" +
    "pwd=12345;database=test;Charset=latin1");