首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

ASP.NET 連接 MySQL 完整指南:官方 Connector/NET 實戰範例

     編輯:MySQL 綜合教學

MySQL 官方提供的 Connector/NET 是 .NET 應用連接 MySQL 的標準驅動,支援 ADO.NET 標準介面,使用體驗與 System.Data.SqlClient 高度一致。本文以 ASP.NET 1.1 為例,示範從下載安裝到程式碼實作的完整流程。

一、驅動獲取與安裝

  1. 訪問官網:MySQL Connector/NET 下載頁
  2. 選擇對應 .NET Framework 版本(1.0 / 1.1 / 2.0+)下載 MSI 安裝包
  3. 執行安裝,預設會將 MySql.Data.dll 註冊至 GAC,並安裝範例專案

二、專案引用設定

在 Visual Studio 專案中:
「參考」→「加入參考」→「.NET」頁籤 → 勾選 MySql.Data(或直接瀏覽安裝目錄下的 MySql.Data.dll)。

三、核心程式碼範例 (C#)

using MySql.Data.MySqlClient;  // 關鍵命名空間
using System.Data;

public void BindData()
{
    // 1. 連接字串(根據實際環境修改)
    string connStr = "server=localhost;user id=root;password=XXXX;database=baby;pooling=true;charset=utf8;";

    // 2. 建立連接與命令
    using (MySqlConnection conn = new MySqlConnection(connStr))
    using (MySqlCommand cmd = new MySqlCommand("SELECT * FROM admin", conn))
    {
        // 3. 資料配接器填充 DataSet
        using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
        {
            DataSet ds = new DataSet();
            da.Fill(ds, "admin");

            // 4. 綁定至 DataGrid(或 GridView/Repeater)
            myDataGrid.DataSource = ds.Tables["admin"];
            myDataGrid.DataBind();
        }
    } // using 區塊結束自動 Dispose,確保連接釋放
}

四、關鍵細節與最佳實踐

  1. 連接池:連接字串加 pooling=true(預設開啟),高併發下大幅降低建連開銷。
  2. 參數化查詢:防 SQL 注入,MySQL 使用 ?param 而非 @param:
    cmd.CommandText = "SELECT * FROM users WHERE id = ?id AND name = ?name";
    cmd.Parameters.AddWithValue("?id", 123);
    cmd.Parameters.AddWithValue("?name", "abc");
  3. 編碼設定:連接字串加 charset=utf8(或 utf8mb4),避免中文亂碼。
  4. 異常處理:捕捉 MySqlException,依 Number 屬性判斷錯誤類型(1062 重複鍵、2006 連線中斷等)。
  5. 資源釋放:務必用 using 或 try/finally 確保 Connection、Command、Reader 正確關閉。

五、常見問題排查

現象可能原因解決方向
Unable to connect to any of the specified MySQL hosts主機/埠/防火牆/skip-networking檢查 3306 通達性、bind-address 設定
Authentication plugin 'caching_sha2_password' not supported驅動版本過舊不支援 MySQL 8.0 預設插件升級 Connector/NET 或改用 mysql_native_password
Character set 'utf8mb4' not supported舊版驅動不識別 utf8mb4連接字串用 charset=utf8 或升級驅動

六、總結

Connector/NET 成熟穩定、API 直覺,是 .NET 連接 MySQL 的首選。掌握「參數用 ?、編碼設 charset、善用 using 釋放資源」三要訣,即可輕鬆構建健壯的資料存取層。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved