1. 程式人生 > >Delphi 7連接MySql 5.5.15

Delphi 7連接MySql 5.5.15

chm ins creat mcr 放置 設置 -s 分享 一個數

Delphi 7連接MySql 5.5.15



1.ODBC方式
必需要先有MySql的ODBC驅動,我下載的是全安裝版,包含MySqlserver、各種所支持的連接、工作臺、演示樣例數據庫、文檔,若是無ODBC驅動,能夠到官網http://dev.mysql.com/downloads/connector/odbc/下載。
①數據源方式
首先,確認安裝了MySql的ODBC驅動。打開“控制面板”→“管理工具”→“數據源”,切換到“驅動程序”頁。查看“MySql ODBC 5.1 Driver",例如以下圖所看到的:
技術分享
切換到"系統DSN"→"加入"→"MySql ODBC 5.1 Driver",例如以下圖所看到的:
技術分享

彈出MySql數據源配置,數據源名稱任意,TCP/IP Server為數據庫地址。Userusername,Passwordpassword,Database連接的數據庫。點"Test"進行測試連接。例如以下圖所看到的:
技術分享
點擊"OK"後,就可以看到新添加了一個數據源。打開Delphi 7,在窗口上放置TADOConnection、TADOQuery、TDataSource和TDBGrid,相互之間關聯。配置TADOConnection的連接字符串。"提供程序"選擇"Microsoft OLE DB Provider for ODBC Drivers
",下一步,選擇"使用數據源名稱"。下拉選擇剛才配置的數據源,其它的不用再填寫,測試連接,例如以下圖所看到的:

技術分享

技術分享

在TADOQuery寫查詢語句。設置Active為True,數據都顯示在表格上,例如以下圖所看到的:
技術分享
②驅動方式
跟上面一樣,先確認安裝MySql的ODBC驅動。打開Delphi 7,在窗口上放置TADOConnection、TADOQuery、TDataSource和TDBGrid,相互之間關聯,配置TADOConnection的連接字符串,為下面內容:
1
Driver={MySQL ODBC 5.1 Driver}; Server=127.0.0.1; Database=world; User=root; Password=a123; Option=3;
在TADOQuery寫查詢語句,設置Active為True,數據都顯示在表格上,例如以下圖所看到的:
技術分享
2.ZeosLib方式
ZeosLib是一個用於Borland開發工具的數據庫中間件,包含Delphi、C++ Builder和Kylix。

從http://sourceforge.net/projects/zeoslib/files/下載"ZEOSDBO-6.6.6-stable"版本號,解壓到目錄。

打開Delphi 7,載入工程項目包"...\ZEOSDBO\packages\delphi7\ZeosDbo.bpg",按順序編譯,或者右鍵選擇"Compile All From Here",例如以下圖所看到的:
技術分享
編譯完畢後。再選擇"ZComponentDesign.bpl",右鍵選擇"Install",安裝組件成功。彈出例如以下對話框:
技術分享
再加入所編譯完畢的文件夾。即"...\ZEOSDBO\packages\delphi7\build",菜單"Tools"→"Environment Options"→"Library"→"Library path",加入此文件夾。另外,若須要在編寫代碼時。能進入ZeosLib源碼的話,須要加入源碼文件夾文件夾。包含:"...\ZEOSDBO\src\core"、"...\ZEOSDBO\src\parsesql"、"...\ZEOSDBO\src\plain"、"...\ZEOSDBO\src\dbc"和"...\ZEOSDBO\src\component"(註意:會在這些文件夾下再次編譯單元文件)。


新建一個應用程序,在窗口上放置TZConnection、TZQuery、TDataSource和TDBGrid,在窗口創建函數裏,寫入下面代碼:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
procedure TForm1.FormCreate(Sender: TObject);
begin
//---------------互相關聯------------------------
zqry1.Connection := zcon1;
ds1.DataSet := zqry1;
dbgrd1.DataSource := ds1;
//---------------設置參數------------------------
zcon1.Protocol := ‘mysql‘;
zcon1.Port := 3306;
zcon1.HostName := ‘127.0.0.1‘;
zcon1.User := ‘root‘;
zcon1.Password := ‘a123‘;
zcon1.Database := ‘world‘;
zcon1.Connected := True;
//---------------查詢顯示------------------------
zqry1.Close;
zqry1.SQL.Text := ‘SELECT * FROM City‘;
zqry1.Active := True;
end;
當然手動在設計器上進行設置也能夠。

由於這裏連接的是MySql數據庫,須要拷貝MySql數據庫client所需的DLL(即:libmysql.dll。這裏我安裝的是在"...\MySQL\MySQL Server 5.5\lib"裏面)拷貝到Windows系統文件夾(一般是"C:\WINDOWS\system32")或者project文件夾下。

程序例如以下圖所看到的:
技術分享
當程序發給別人使用時,須要連同"libmysql.dll"一起發送。若是顯示的數據有亂碼,這是由於MySQl數據庫默認使用UTF-8字符集。則先在查詢之前,設置字符集,例如以下代碼所看到的:
1
2
3
4
5
6
7
begin
zqry1.Close;
zqry1.SQL.Text := ‘set names gbk‘;
zqry1.ExecSQL;
zqry1.SQL.Text := ‘select * from city‘;
zqry1.Active := True;
end;

或者在TZConnection的Properties屬性加入"codepage=gbk"。

3.其它方式

另外,還有其它的第三方控件能夠連接MySql等其它數據庫。如:AnyDAC、MyDAC 、DAC for MySQL等等。


擴展資料:
1.MySQL with Delphi http://delphi.about.com/od/mysql/MySQL_with_Delphi.htm
2.Zeoslib Portal :: Home http://zeos.firmos.at/
3.使用ZeosDbo元件與MySQL連線及建立Master/Detail資料表 http://cdwalkman.my-php.net/_tech/mysql_ZeosLib_delphi.htm

Delphi 7連接MySql 5.5.15