BCB6+MySQL+ZeosLib 簡易安裝連線教學 |
|
yckuo
高階會員 發表:55 回覆:389 積分:238 註冊:2003-03-07 發送簡訊給我 |
各位大家好: 主題:
由 juneo 所發表的 Delphi7+Mysql4.1+ODBC3.5 連線教學中,小弟有提到我所使用的是 ZEOSLIB 所開發的連線元件來與 MySQL 連線.因此特製作此篇簡易教學讓您快速入門.
網址:
主網頁
http://www.zeoslib.net 元件下載
zeosdbo-6.1.5-stable
zeosdbo-6.1.5-stable-patch1 說明:
1. 將 zeosdbo-6.1.5-stable.zip 解開於 zeosdbo-6.1.5-stable 目錄下.
2. 再將 zeosdbo-6.1.5-patch1.zip "也" 解開於 zeosdbo-6.1.5-stable 目錄下,全部覆蓋即可.
3. 打開您的 BCB6 , 選 File -> Open Project , 在此選擇 zeosdbo-6.1.5-stable\package\cbuilder6 目錄下
的 ZeosDbo.bpg .
如下圖 一.
4. 再來就是將 zeosdbo 編譯安裝了,有一個要注意的地方是,它編譯安裝是有順序的,您必需按照以下的
順序來編譯安裝.
1.ZCore.bpl
2.ZParseSql.bpl
3.ZPlain.bpl
4.ZDbc.bpl
5.ZComponent.bpl
您只要將滑鼠指標點該 bpl ,然後按右鍵,選 Install 就會開始編譯安裝了.
如圖 二.
在這過程中將會出現許多 Find Package Import 的對話盒,您無需理會它,按下 Cancel 即可.
如圖 三.
編譯過程
如圖 四.
部份安裝完成提示
如圖 五.
全部安裝完成提示
如圖 六.
安裝完成後,您將可以馬上在元件寶庫中找到 Zeos Access 了.
如圖 七.
這個時後您就可以將該專案關閉了;安裝是完成了,但只有這樣的話,相信以後您有使用到該元件的話,
將無法順利編譯完成.
請您設定 Include 路徑,讓 Compiler 能夠搜尋到必要的引入標頭檔.
設定方法如下, Project -> Options -> Directories/Conditionals , 點選 Include Path 的 ... 圖示
請將下列目錄都設進去.
zeosdbo-6.1.5-stable\src\component
zeosdbo-6.1.5-stable\src\core
zeosdbo-6.1.5-stable\src\dbc
zeosdbo-6.1.5-stable\src\parsesql
zeosdbo-6.1.5-stable\src\plain
如圖八.
至此算完整安裝完成,您可以開始利用 ZeosLib 來開發含有 MySQL 的專案了.
簡易使用:
1.連線.
拉一個 ZConnection 元件到表單中,所需設定如下.
ZConnection1->Protocol = "mysql"; ZConnection1->Port = 3306; ZConnection1->HostName = "localhost"; ZConnection1->User = "abcd"; ZConnection1->Password = "mypassword"; ZConnection1->Database = "mydatabase"; ZConnection1->Connected = true; or ZConnection1->Connect();2.執行 SQL 語法. 拉一個 ZQuery 元件到表單中,所需設定如下. ZQuery1->Connection = ZConnection1; ZQuery1->SQL->Add("SELECT * FROM mysql WHERE 1"); ZQuery1->Open(); <== 將會開一 DataSet; ZQuery1->ExecSQL(); <== 只單純執行一 SQL 命令.3.參數代換. 參數的代換有兩種方式,視您的需要選用. ZQuery1->SQL->Add("SELECT * FROM TABLE_NAME WHERE name = :NAMES AND age = :AGE LIMIT 1"); ZQuery1->Params->ParamByName("NAMES")->AsString = "someone"; ZQuery1->Params->ParamByName("AGE")->AsInteger = 18; or ZQuery1->SQL->Text = "SELECT * FROM TABLE_NAME WHERE name = '%-" + Edit1->Text + "-%'";4.資料取得. 資料的取得也有兩種方式. ZQuery1->SQL->Add("SELECT * FROM TABLE_NAME WHERE name = :NAMES AND age = :AGE LIMIT 1"); ZQuery1->Open(); result_name = ZQuery1->FieldByName("name")->AsString; result_age = ZQuery1->FieldByName("age")->AsInteger; or result_name = ZQuery1->Fields->Fields[X]->AsString;至於 X 要填數字多少,就看您的 SELECT 回來的欄位有幾個,由 0 開始算. 5.儲存 Binary 檔案. ZQuery1->SQL->Add("INSERT INTO TABLE_NAME VALUE (':PIC1')"; Image1->Picture->Bitmap->SaveToFile("temp.bmp"); ZQuery1->Params->ParamByName("PIC1")->LoadFromFile("temp.bmp",ftBlob);其餘使用方法都差不多,或您可參考 zeosdbo-6.1.5-stable\example 目錄下的檔案. 備註: 當您要儲存或編譯您以 zeosdbo 開發的專案時,如果出現 Find Header File 的對話盒,代表 BCB 找不到 zeosdbo 所需的 header file,你會覺的納悶,剛剛不是有將路徑加入了嗎!! 沒有關係,請您按下 Cancel 鈕,回到編輯器,點選您的 Project_Name.h 檔,您會發現,BCB 幫您 加入了 #include "Zxxxxx.h" 檔,請將所有關於 zeoslib 的 .h 檔,改為 .hpp 存檔後,再次編譯 就可以了. 本說明若有謬誤之處,敬請指教!! 發表人 - yckuo 於 2004/10/22 17:51:11 發表人 - yckuo 於 2004/10/22 17:54:09
------
yckuo |
juneo
高階會員 發表:103 回覆:190 積分:118 註冊:2004-05-13 發送簡訊給我 |
感謝yckuo大大的分享又讓我多學了一招 ^^
趕快實驗了ㄧ下,發現BCB與Delphi差別不大
我把差異列出來參考看看
其他的步驟yckuo大大都寫的非常詳細 3. 打開您的 BCB6 , 選 File -> Open Project , 在此選擇 zeosdbo-6.1.5-stable\package\delphi7 目錄下的 ZeosDbo.bpg
這裡請選擇自己使用的軟體與版本 圖三、圖四 Delphi不會出現喔!! 圖七以後Delphi 可以使用 Zeos ,但是編譯的時候一樣會有錯誤畫面,此時要修改的地方與BCB有些不同,如下圖
然後再把zeosdbo-6.1.5-stable\lib\mysql\libmysql40.dll(請選擇自己MySql版本)複製到程式目錄下面 這樣就完成Delphi的版本了 PS:有沒有人知道Delphi 的 Include Path 路徑該如何設定,每次要把libmysql40.dll複製到目錄下面有點麻煩 ^^|||,請知道方法的大大指導一下 分享比獲得更快樂--Juneo
|
juneo
高階會員 發表:103 回覆:190 積分:118 註冊:2004-05-13 發送簡訊給我 |
ZeosDBO 6.5.1-alpha releasedhttp://prdownloads.sourceforge.net/zeoslib/zeosdbo-6.5.1-alpha.zip?download
在Delphi上已經沒有上述問題
步驟也都與yckuo大大一樣設定就可以很愉快使用^^
下載網址 自然就是寫程式最好的方式,
分享比獲得更快樂--Juneo
|
wus
一般會員 發表:0 回覆:2 積分:0 註冊:2005-06-09 發送簡訊給我 |
|
yinjiajun
一般會員 發表:4 回覆:14 積分:3 註冊:2005-02-02 發送簡訊給我 |
wus:
你好,我昨天晚上到www.zeoslib.net Down了一个Zeoslib6.5.1Alpha,测试了一把,发现ZeosLib是可以支持事务(Transaction)的,因为我自己也是第一次使用ZeosLib,所以我打开了BCB/Delphi的Code Insigts功能(我在学习没有用过的构件或文档比较少的构件的时候都会开这个代码提示功能,这样可以大概了解构件的属性和方法),我发现了ZConnection有如同ADOConnection一样的事务功能,如下:
(BCB的示例代码)
ADO:
try {
ADOConnection->BeginTrans();
try {
//数据库修改操作
ADOConnection->CommitTrans();
} catch(...) {
ADOConnection->RollbackTrans();
::MessageBox(this->Handle,"修改数据失败,可能数据已被其它用户修改!","错误!",MB_OK MB_ICONERROR);
}
} catch(...) {
::MessageBox(this->Handle,"启动事务失败!","错误!",MB_OK MB_ICONERROR);
}
ZeosLib:
ZConnection->StartTransaction();
ZConnection->Commit();
ZConnection->Rollback();
用以上三行代码代替ADOConnection事务处理的相应行。 希望这个能对你有所帮助。
|
treetreetree225
一般會員 發表:0 回覆:2 積分:0 註冊:2007-04-15 發送簡訊給我 |
在步驟四,底下是開板大人的內容...
4. 再來就是將 zeosdbo 編譯安裝了,有一個要注意的地方是,它編譯安裝是有順序的,您必需按照以下的 順序來編譯安裝. 1.ZCore.bpl 2.ZParseSql.bpl 3.ZPlain.bpl 4.ZDbc.bpl 5.ZComponent.bpl 在進行第三個ZPlain.bpl的安裝便出現錯誤,(顯示錯誤訊息) 可是繼續下面的安裝是可以, 但是按照開板大人的範例程式也不能執行, 小弟猜想第三個ZPlain.bpl的安裝沒有安裝好。 有人知道這是什麼問題嗎? 小弟不才,煩請高手解答... |
treetreetree225
一般會員 發表:0 回覆:2 積分:0 註冊:2007-04-15 發送簡訊給我 |
===================引 用 treetreetree225 文 章=================== 在步驟四,底下是開板大人的內容... 4. 再來就是將 zeosdbo 編譯安裝了,有一個要注意的地方是,它編譯安裝是有順序的,您必需按照以下的 順序來編譯安裝. 1.ZCore.bpl 2.ZParseSql.bpl 3.ZPlain.bpl 4.ZDbc.bpl 5.ZComponent.bpl 在進行第三個ZPlain.bpl的安裝便出現錯誤,(顯示錯誤訊息) 可是繼續下面的安裝是可以, 但是按照開板大人的範例程式也不能執行, 小弟猜想第三個ZPlain.bpl的安裝沒有安裝好。 有人知道這是什麼問題嗎? 小弟不才,煩請高手解答... 已經解決,感恩 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |