|
用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/Downloa ... vmmatrix.net/mysql/
2、MySQL++源程序
http://tangentsoft.net/mysql++/releases/mysql++-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环境里。点开“我的电脑->属性->高级->环境变量->ATH”,在文本框最后加上“;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 *.exe
- 2006-04-21 23:08 1,796,419 resetdb.exe
- 2006-04-21 22:08 1,812,535 simple1.exe
- 2006-04-21 22:08 1,814,477 simple2.exe
- 2006-04-21 22:09 1,810,725 simple3.exe
- 2006-04-21 22:09 1,808,913 usequery.exe
- 2006-04-21 22:09 1,838,997 multiquery.exe
- 2006-04-21 22:10 1,830,994 custom1.exe
- 2006-04-21 22:10 1,800,529 custom2.exe
- 2006-04-21 22:11 1,814,019 custom3.exe
- 2006-04-21 22:11 1,850,548 custom4.exe
- 2006-04-21 22:12 1,846,565 custom5.exe
- 2006-04-21 22:12 1,834,823 custom6.exe
- 2006-04-21 22:13 1,876,140 dbinfo.exe
- 2006-04-21 22:13 1,805,388 fieldinf1.exe
- 2006-04-21 22:14 1,784,760 xaction.exe
- 2006-04-21 22:14 1,634,397 cgi_image.exe
- 2006-04-21 22:14 1,615,386 load_file.exe
- 2006-04-21 22:15 1,669,868 updel.exe
复制代码
三、测试
在D:\CPP_LIB\mysql++\examples目录下打开命令行,执行刚刚编译出的resetdb,初始化数据库配置:
- D:\CPP_LIB\mysql++\examples>resetdb
- Connecting to database server...
- Dropping existing stock table...
- Creating new stock table...
- Populating stock table...
- Reinitialized sample database successfully.
复制代码
然后一个个地试试该目录下那些exe文件,看看效果 :-) 这里举两个例子:
- D:\CPP_LIB\mysql++\examples>simple1
- We have:
- Nurnberger Brats
- Pickle Relish
- Hot Mustard
- Hotdog Buns
- D:\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
复制代码
呵呵,现在可以写自已的代码了。有机会小弟贴一些出来请大家指正 ;-) |
|