用Dev-Cpp搭建MySQL++編程環境

來源:互聯網
上載者:User
用Dev-Cpp搭建MySQL++編程環境

小弟這兩天要寫個小程式,涉及到資料儲存處理比較多,想安裝個資料庫。以前用過一段時間MS SQL Server 2000,整整一張安裝盤,安裝配置一下就得大半天。對付芝麻大的小程式,真是殺雞用牛刀。要找一個輕量級的資料庫,首先想到的就是MySQL,久聞大名,但從未謀面,今天想見識見識它的真功夫

到MySQL官方網站看了一下,不得了,這傢伙身材雖不大,才十幾兆,功能已經向企業級看齊了,完全不像是幾年前聽說的那個小玩意。再看看我關心的編程介面,不錯不錯,還有個叫MySQL++的C++ wrapper,而且是STL風格的介面,呵呵,這樣一套完美的封裝使資料庫編程完全成為了一種享受, 來一段看看:

代碼:
vector<mystruct> v;Query q = connection.query();q << "SELECT * FROM mytable";q.storein(v);for (vector<mystruct>::iterator it = v.begin(); it != v.end(); ++it) {    cout << "Price: " << it->price << endl;

小弟使用資料庫機會不多,知之甚少,如有錯誤請指正。

一、下載
1、MySQL5.0安裝程式(精簡版)
http://dev.mysql.com/get/Downloads/M...rix.net/mysql/

2、MySQL++來源程式
http://tangentsoft.net/mysql++/relea...+-2.1.1.tar.gz

3、Dev-Cpp 4.9.9.2
http://www.yaguo.com/web/softroom/dl.asp?addid=5066

二、安裝
1、安裝Dev-Cpp
Dev-Cpp是windows平台下的一套開發C++程式的GUI,整合了mingw編譯工具。安裝這個太簡單樂,不多說,GUI的安裝方式,一直點OK就行啦
安裝完成後,要記得把mingw編譯器的路徑C:\Dev-Cpp\bin添加行系統PATH環境裡。點開“我的電腦->屬性->進階->環境變數->PATH”,在文字框最後加上“;C:\Dev-Cpp\bin”。

2、安裝MySQL5.0
也是GUI的安裝方式,一定要裝安裝路徑設定為“C:\MySQL”,否則編譯MySQL++原始碼會有問題。其它預設就OK可以樂。安裝完成了,別忘了配置一下Server Instance。

3、編譯MySQL++原始碼
解壓 mysql++-2.1.1.tar.gz 到 D:\CPP_LIB\mysql++ (這是我的安裝路徑,自已可以隨意調整啦)

在目錄C:\MySQL\lib\opt下開啟命令列,執行下列命令列,產生mingw編譯器能認識的動態連結程式庫:代碼:

C:\MySQL\lib\opt>dlltool -k -d D:\CPP_LIB\mysql++\libmysqlclient.def -l libmysqlclient.a

修改make檔案,開啟D:\CPP_LIB\mysql++\Makefile.mingw,在檔案開頭處加上串連選項。(用預設選項可能會編譯不過哦 )代碼:

# linker flags LDFLAGS = -enable-runtime-pseudo-reloc

在目錄D:\CPP_LIB\mysql++下開啟命令列,執行make命令,就一切搞掂啦 代碼:

D:\CPP_LIB\mysql++>make -f Makefile.mingw all

檢查一下,你的D:\CPP_LIB\mysql++\lib目錄下是否產生了兩個檔案:libmysqlpp.a,mysqlpp.dll。
D:\CPP_LIB\mysql++\examples目錄下是否產生了一堆exe檔案:代碼:

D:\CPP_LIB\mysql++\examples>dir *.exe2006-04-21  23:08         1,796,419 resetdb.exe2006-04-21  22:08         1,812,535 simple1.exe2006-04-21  22:08         1,814,477 simple2.exe2006-04-21  22:09         1,810,725 simple3.exe2006-04-21  22:09         1,808,913 usequery.exe2006-04-21  22:09         1,838,997 multiquery.exe2006-04-21  22:10         1,830,994 custom1.exe2006-04-21  22:10         1,800,529 custom2.exe2006-04-21  22:11         1,814,019 custom3.exe2006-04-21  22:11         1,850,548 custom4.exe2006-04-21  22:12         1,846,565 custom5.exe2006-04-21  22:12         1,834,823 custom6.exe2006-04-21  22:13         1,876,140 dbinfo.exe2006-04-21  22:13         1,805,388 fieldinf1.exe2006-04-21  22:14         1,784,760 xaction.exe2006-04-21  22:14         1,634,397 cgi_image.exe2006-04-21  22:14         1,615,386 load_file.exe2006-04-21  22:15         1,669,868 updel.exe

三、測試
在D:\CPP_LIB\mysql++\examples目錄下開啟命令列,執行剛剛編譯出的resetdb,初始化資料庫配置:代碼:

D:\CPP_LIB\mysql++\examples>resetdbConnecting to database server...Dropping existing stock table...Creating new stock table...Populating stock table...Reinitialized sample database successfully.

然後一個個地試試該目錄下那些exe檔案,看看效果 這裡舉兩個例子:代碼:

D:\CPP_LIB\mysql++\examples>simple1We have:        Nurnberger Brats        Pickle Relish        Hot Mustard        Hotdog BunsD:\CPP_LIB\mysql++\examples>usequery    Nurnberger Brats        92       1.5      8.79 2005-03-10       Pickle Relish        87       1.5      1.75 1998-09-04         Hot Mustard        75      0.95      0.97 1998-05-25         Hotdog Buns        65       1.1       1.1 1998-04-23

呵呵,現在可以寫自已的代碼了。有機會小弟貼一些出來請大家指正

__________________
I believe I can fly.

此帖於 06-04-22 12:18 被 sweord 編輯.

   

sweord
查看公開資訊
尋找 sweord 發表的更多文章

06-04-23, 00:56 第 2 帖
sweord

 

 
 

註冊會員

   註冊日期: Mar 2004  文章: 48

  精華: 0

 

MySQL++樣本工程

一、配置Dev-C++編譯選項
1、配置串連選項
點開菜單"工具->編譯器選項", 選中"編譯器->在連接器命令列加入以入命令"。在該選項下面的文字框內填寫:代碼:

-enable-runtime-pseudo-reloc

2、添加MySQL和MySQL++開發包的標頭檔到尋找目錄
點開菜單"工具->編譯器選項->目錄->C++包含檔案”,在下面的列表中加上兩行:代碼:

C:\MySQL\includeD:\CPP_LIB\mysql++\include

二、建立工程
啟動Dev-C++,建立一個工程。選擇工程類型為console application,語言為C++,工程名為MySQLpp。將工程儲存到D:\Test\DevCpp\MySQLpp目錄下,刪除工程預設建立的main.cpp檔案。
從目錄D:\CPP_LIB\mysql++\examples下複製stock.h, util.h, util.cpp, usequery.cpp四個檔案到工程目錄D:\Test\DevCpp\MySQLpp中。在Dev-C++的工程管理視窗中添加這四個檔案。

三、設定工程屬性
點開菜單“工程->工程屬性->參數”,在“連接器”對應的檔案框中添加兩個庫檔案:代碼:

C:/MySQL/lib/opt/libmysqlclient.aD:/CPP_LIB/mysql++/lib/libmysqlpp.a

四、運行
點擊編譯運行按鈕就可以啦! 不過視窗一閃而過,什麼也沒有看到 修改一下檔案usequery.cpp中這一段代碼:代碼:

catch (const mysqlpp::EndOfResults&) {// Last query result received.  Exit normally. return 0;}

修改成:代碼:

catch (const mysqlpp::EndOfResults&) {// Last query result received.  Exit normally.system("PAUSE");  return 0;}

這樣就OK了,可以看到資料庫的查詢結果

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.