mysql api用法_MySQL++ API的用法

关键字:mysql

/*

MySQL++ API的用法 by hoowa

道歉声明:

由于作者刚刚接触C++与Borland C++ Builder刚刚一周左右,

很多基本概念不是那么准确如果语法上有问题还请各位原谅,不要笑话我。

我在使用C++的MySQL++ API之前一直在找文章,结果没有一篇中文介绍如何使用的。

象我这样刚刚接触bcb由需要连接mysql的人真是想哭都不行!

那么为什么不使用myodbc呢?因为MySQL++快。

为什么不使用其他一些很强大很方便的数据库控件呢?

因为hoowa在linux下做perl程序的时候都是直接使用SQL语句,

就象农民刚进城做汽车不舒服一样:)

第一步:

好了,我们首先下载MySQL++ API 的borland版,记得是borland版!

地址在:

http://www.mysql.com/downloads/download.php?

file=Downloads%2Fmysql%2B%2B%2Fmysql%2B%2B-1.7.9-win32-bcb6-1.zip&pick=mirror

第二步:

下载后请注意目录结构:include目录下的mysql会用到,lib\\rel的文件也必须有,

还有src里的sqlplus,sqlplus\\release

我其实没搞明白为什么这么多东西,我的做法是直接把所有的文件都放在程序里。

第三步:

建立一个工程在Project->Options->Directory->include paths指定include\\mysql的

目录和sqlplus的目录

在View->Project Manager->Add增加libmysql.lib和sqlplus.lib

Project Options->Linker取消Use dynamic RTL

将libmysql.dll复制到你程序的目录

第四步:

可以开始编写代码了,确保你的mysql可以被连接!

*/

// 加载MySQL++的人工步骤

#include //确保在所有代码中都要包含这一句在首位,没有肯定不行

#include "mysql++.h"; //使用sqlplus.hh也一样,不必要每个代码都包含

//构造一个Connection类的对象

Connection con = new Connection();

//创建数据库的连接

con.real_connect("mysql", "localhost", "root", "");

//第一个是db名称,然后是服务器地址,用户名,密码

/*

有以上步骤就算创建了一个数据库连接了,下面是基本的状态显示方法

*/

cout << con.client_info() << endl; //显示客户端信息

cout << con.host_info() << endl; //应该是连接的服务器与使用的协议

cout << con.server_info() << endl; //显示服务器信息

cout << con.stat() << endl; //server当前状态

/*

可用的一些命令函数

*/

con.exec("use test"); //exec函数执行mysql命令,仅返回真或假,

//可以使用一些命令比如delete from database等

con.close(); //关闭连接,这个函数使用在最后与mysql来一个友好的byebye

con.select_db("test"); //选择一个database,我喜欢用命令而不是函数来做

/*

下面是查询语句的例子,下面讲的可是单行结果的查询语句的例子!

以下内容都假设在名字为mysql的db当中

*/

Query query = con.query(); //构造类Query的对象

query << "select * from user limit 1"; //你要执行的SQL语句

ResUse res = query.use(); //构造ResUse的对象res

Row row = res.fetch_row(); //将数据fetch到row对象中

cout << row.raw_data(0) << endl; //第0个字段的内容

//这些用法在多行或单行结构的查询语句中都通用

cout << res.num_fields << endl; //字段的数量

cout << res.field_name(0) << endl; //0字段的名字

cout << row.size() << endl; //记录的数量

/*

多行结果的查询语句例子

*/

Query query = con.query();

query << "select * from user limit 1";

Result res = query.store(); //Result对象

Row row;

Result::iterator i;

for(i = res.begin(); i != res.end(); i++)

{

row = *i;

cout << row[0].c_str() << row[1].c_str << endl; //显示内容0、1

}

--------------------------------------------------------------------------------

著名的perl工程师,最近著作有《FastCGI中文参考手册》

EMail:hoowa@263.net

主页:

url.gifhttp://www.ilcatperl.org/  

(hoowa)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值