控制台 → 管理工具 → 資料來源 (ODBC) → 驅動程式頁籤 → 確認存在 MySQL ODBC 5.1 Driver
系統 DSN → 新增 → 選擇 MySQL ODBC 5.1 Driver → 設定:
MySQL_World)127.0.0.1 (或遠端 IP)rootworld (測試用範例資料庫)按 Test 驗證連線成功。
表單放置:TADOConnection、TADOQuery、TDataSource、TDBGrid
屬性關聯:
ADOQuery1.Connection := ADOConnection1;
DataSource1.DataSet := ADOQuery1;
DBGrid1.DataSource := DataSource1;
ADOConnection1 連接字串設定:
Microsoft OLE DB Provider for ODBC DriversMySQL_World)相同元件配置,ADOConnection1.ConnectionString 直接指定:
Driver={MySQL ODBC 5.1 Driver};Server=127.0.0.1;Database=world;User=root;Password=a123;Option=3;
TADOQuery.SQL.Text := 'SELECT * FROM City',設定 Active := True 即見資料。
D:\ZeosLib)D:\ZeosLib\packages\delphi7\ZeosDbo.bpgZComponentDesign.bpl → 右鍵 Install → 確認元件安裝成功Tools → Environment Options → Library → Library path 新增:
D:\ZeosLib\packages\delphi7\build
若需進入原始碼除錯,另加入:
D:\ZeosLib\src\core
D:\ZeosLib\src\parsesql
D:\ZeosLib\src\plain
D:\ZeosLib\src\dbc
D:\ZeosLib\src\component
放置:TZConnection、TZQuery、TDataSource、TDBGrid
procedure TForm1.FormCreate(Sender: TObject);
begin
// 元件關聯
ZQuery1.Connection := ZConnection1;
DataSource1.DataSet := ZQuery1;
DBGrid1.DataSource := DataSource1;
// 連線參數
ZConnection1.Protocol := 'mysql';
ZConnection1.Port := 3306;
ZConnection1.HostName := '127.0.0.1';
ZConnection1.User := 'root';
ZConnection1.Password := 'a123';
ZConnection1.Database := 'world';
ZConnection1.Connected := True;
// 查詢
ZQuery1.Close;
ZQuery1.SQL.Text := 'SELECT * FROM City';
ZQuery1.Active := True;
end;
libmysql.dll) 複製至:C:\Windows\System32 或專案輸出目錄libmysql.dllMySQL 預設 UTF-8,Delphi 7 為 ANSI。查詢前設定字符集:
ZQuery1.Close;
ZQuery1.SQL.Text := 'SET NAMES gbk';
ZQuery1.ExecSQL;
ZQuery1.SQL.Text := 'SELECT * FROM City';
ZQuery1.Active := True;
或在 TZConnection.Properties 加入 codepage=gbk。
| 方案 | 優點 | 缺點 | 適用場景 |
|---|---|---|---|
| ODBC DSN | 系統層級管理、多應用共用 | 需客戶端配置 DSN、效能稍低 | 企業內部部署、多應用共享資料源 |
| ODBC Driver 字串 | 免 DSN、部署簡單 | 仍經 ODBC 層、相依驅動版本 | 單機/少量部署、快速原型 |
| ZeosLib | 原生通訊、效能最好、無 ODBC 相依、跨平台 | 需編譯安裝套件、部署需 libmysql.dll | 正式產品、高效能需求、跨平台專案 |