我只是将文档里的一些东西写了下来,我的学习参考http://yun.baidu.com/share/link?shareid=524984541&uk=121920724,也是在网上找的一个中文文档,有人需要的话可以去提=。=。
MySQL++中的一些特殊处理:
SELECT* FROM ××× WHERE item = '×××';
等价于
strings = "×××";
query<< "SELECT * FROM ××× WHERE item = " <<quote_only << s;
SELECT* FROM ××× WHERE item = '×××'×××';
对这种单引泄露的操作:
strings = "×××'×××";
query<< "SELECT * FROM ××× WHERE item = " << quote<< s;
MySQL++的数据类型:
mysqlpp::×××
当SQL NULL 时一个类型修饰时,
MySQL++提供一个空的模板去实现类似于C++的NULL类型,例如:
mysqlpp::sql_×××_null ×××;
当SQLNULL是一个唯一值时:
myfield= mysqlpp::null;
MySQL++的特殊的String类型:
String和SQLTypeAdapter,
Row::operator[]的返回值是String,String比std::string强大的一点,String可以将Data类型转换为String类型,反之亦然。如初始化
“2010-01-01”,String可将其转化为Data.
MySQL++的三种查询语句:
Query::execute(),Query::store(),Query::use().
execute()返回SimpleResult,例如是否执行成功,操作行数等。
store()返回StoreQueryResult对象,对象记录全部查询结果。
use()返回UseQueryRusult对象,数据库每次返回一个数据。(巨大量级查询使用)
这里有一段使用use()的代码:
#include <mysql++.h>
#include <iostream>
using namespace std;
int main()
{
mysqlpp::Connection conn(false);
if(conn.connect("test","localhost","×××","××××"))
{
mysqlpp::Query query=conn.query("select * from Student");
if(mysqlpp::UseQueryResult res=query.use())
{
cout<<setw(20)<<"name"<<setw(10)<<"ID"<<endl;
while(mysqlpp::Row row=res.fetch_row())
{
cout<<setw(19)<<row["name"]<<setw(9)<<row["ID"]<<endl;
}
if(conn.errnum())
{
cerr<<"Error received in fetching a row:"<<
conn.error()<<endl;
return 1;
}
return 0;
}
else
{
cerr<<"Faild to get data:"<<query.error()<<endl;
return 1;
}
}
else
{
cerr<<"DB connection failed: "<<conn.error()<<endl;
return 1;
}
}
MySQL++中的一些特殊处理:
SELECT* FROM ××× WHERE item = '×××';
等价于
strings = "×××";
query<< "SELECT * FROM ××× WHERE item = " <<quote_only << s;
SELECT* FROM ××× WHERE item = '×××'×××';
对这种单引泄露的操作:
strings = "×××'×××";
query<< "SELECT * FROM ××× WHERE item = " << quote<< s;
MySQL++的数据类型:
mysqlpp::×××
当SQL NULL 时一个类型修饰时,
MySQL++提供一个空的模板去实现类似于C++的NULL类型,例如:
mysqlpp::sql_×××_null ×××;
当SQLNULL是一个唯一值时:
myfield= mysqlpp::null;
MySQL++的特殊的String类型:
String和SQLTypeAdapter,
Row::operator[]的返回值是String,String比std::string强大的一点,String可以将Data类型转换为String类型,反之亦然。如初始化
“2010-01-01”,String可将其转化为Data.
MySQL++的三种查询语句:
Query::execute(),Query::store(),Query::use().
execute()返回SimpleResult,例如是否执行成功,操作行数等。
store()返回StoreQueryResult对象,对象记录全部查询结果。
use()返回UseQueryRusult对象,数据库每次返回一个数据。(巨大量级查询使用)
这里有一段使用use()的代码:
#include <mysql++.h>
#include <iostream>
using namespace std;
int main()
{
mysqlpp::Connection conn(false);
if(conn.connect("test","localhost","×××","××××"))
{
mysqlpp::Query query=conn.query("select * from Student");
if(mysqlpp::UseQueryResult res=query.use())
{
cout<<setw(20)<<"name"<<setw(10)<<"ID"<<endl;
while(mysqlpp::Row row=res.fetch_row())
{
cout<<setw(19)<<row["name"]<<setw(9)<<row["ID"]<<endl;
}
if(conn.errnum())
{
cerr<<"Error received in fetching a row:"<<
conn.error()<<endl;
return 1;
}
return 0;
}
else
{
cerr<<"Faild to get data:"<<query.error()<<endl;
return 1;
}
}
else
{
cerr<<"DB connection failed: "<<conn.error()<<endl;
return 1;
}
}