加载MySQL++的步骤
1 2 |
#include <windows.h> //确保在所有代码中都要包含这一句在首位,没有肯定不行 #include "mysql++.h"; //使用sqlplus.hh也一样,不必要每个代码都包含 |
创建数据库的连接
1 2 3 4 5 6 |
//构造一个Connection类的对象 Connection con = new Connection(); //创建数据库的连接 con.real_connect("mysql" , "localhost" , "root" , "" ); //第一个是db名称,然后是服务器地址,用户名,密码 |
有以上步骤就算创建了一个数据库连接了
下面是基本的状态显示方法
1 2 3 4 |
cout << con.client_info() << endl; //显示客户端信息 cout << con.host_info() << endl; //应该是连接的服务器与使用的协议 cout << con.server_info() << endl; //显示服务器信息 cout << con.stat() << endl; //server当前状态 |
可用的一些命令函数
1 2 3 4 |
con.exec( "use test" ); //exec函数执行mysql命令,仅返回真或假, //可以使用一些命令比如delete from database等 con.close(); //关闭连接,这个函数使用在最后与mysql来一个友好的byebye con.select_db("test" ); //选择一个database,我喜欢用命令而不是函数来做 |
单行结果的查询语句的例子
以下内容都假设在名字为mysql的db当中
1 2 3 4 5 6 7 8 9 10 |
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; //记录的数量 |
多行结果的查询语句例子
1 2 3 4 5 6 7 8 9 10 11 12 |
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 } |
发表评论
要发表评论,您必须先登录。