環境準備
- 將
libMySQL.dll 複製至專案目錄或系統目錄(Win98: System,WinNT/2K/XP: System32)。
- 確保 3306 端口與遠端 MySQL 伺服器網路互通。
核心元件佈局
SQLConnection: TSQLConnection; // 連接元件
SQLClientDataSet: TSQLClientDataSet; // 客戶端資料集
DataSource1: TDataSource; // 資料源
DBGrid1: TDBGrid; // 資料顯示網格
// 介面元件:HostName、User_Name、PassWord、Database、ESQL (SQL輸入框)
// Button1 (連線)、ButtonGo (執行查詢)
關鍵事件代碼
建立連線 (Button1Click)
procedure TForm1.Button1Click(Sender: TObject);
begin
with SQLConnection do begin
Close;
Params.Values['HostName'] := HostName.Text;
Params.Values['UserName'] := User_Name.Text;
Params.Values['Password'] := PassWord.Text;
Params.Values['Database'] := Database.Text;
try
Connected := True;
StatusBar1.Panels[0].Text := 'Connect OK';
ButtonGo.Enabled := True;
except
MessageDlg('Connect Error', mtError, [mbOK], 0);
end;
end;
end;
執行查詢 (ButtonGoClick)
procedure TForm1.ButtonGoClick(Sender: TObject);
begin
with SQLClientDataSet do begin
Close;
CommandText := ESQL.Text;
Open;
end;
end;
表單關閉釋放資源
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SQLConnection.Close;
end;
注意事項
- DBExpress 為單向游標,適合讀取密集型應用;若需雙向游標請改用 ADO/ODBC。
- 參數化查詢建議使用
Params 屬性防止 SQL 注入。
- 生產環境請加入連線池與異常重試機制。