今天開始研究mysql,在網上搜了一下資料,都是要安裝這個,安裝那個,很麻煩。
經過一直摸索、測試,得到一個快速的方法,很實用,只是穩定性有待發現。
先去下載:http://www.justsoftwaresolutions.co.uk/delphi/dbexpress_and_mysql_5.html
然後把下載到的dbxopenmysql5_dll.zip解壓出來,再把dbxopenmysql50.dll和libmysql.dll都放到工程文件夾下。
在Form上放上TSQLConnection、TSQLQuery、TStringGrid、3個TButton、TLable。
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DBXpress, FMTBcd, StdCtrls, Grids, DB, SqlExpr; type TForm1 = class(TForm) SQLConnection1: TSQLConnection; SQLQuery1: TSQLQuery; StringGrid1: TStringGrid; Button1: TButton; Button2: TButton; Button3: TButton; Label1: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin SQLConnection1 := TSQLConnection.Create(nil); SQLConnection1.DriverName := 'dbxmysql'; SQLConnection1.GetDriverFunc := 'getSQLDriverMYSQL50'; SQLConnection1.LibraryName := 'dbxopenmysql50.dll'; SQLConnection1.VendorLib := 'libmysql.dll'; SQLConnection1.LoginPrompt := false; SQLConnection1.Params.Append('Database=mysql'); SQLConnection1.Params.Append('User_Name=root'); SQLConnection1.Params.Append('Password='); SQLConnection1.Params.Append('HostName=localhost'); SQLConnection1.Open; if SQLConnection1.Connected = true then begin SQLQuery1.SQLConnection := SQLConnection1; Label1.Caption := 'success!'; end else Label1.Caption := 'failed!'; end; procedure TForm1.Button2Click(Sender: TObject); var i, j: Integer; begin SQLQuery1.SQL.Clear; SQLQuery1.SQL.Add('SELECT * FROM user'); SQLQuery1.Active := true; i := 0; SQLQuery1.First; while not SQLQuery1.eof do begin for j := 0 to SQLQuery1.FieldCount - 1 do StringGrid1.cells[j, i] := SQLQuery1.Fields[j].AsString; SQLQuery1.next; inc(i); end; SQLQuery1.Active := false; end; procedure TForm1.Button3Click(Sender: TObject); begin if SQLConnection1.Connected = true then SQLConnection1.Close; SQLConnection1.Free; end; end.
經測試,連接OK,查詢OK。
參考:JackSun's 技術博客 http://www.cnblogs.com/JackSun/archive/2010/12/16/1908145.html