MySQL++学习日记(二)
来源:互联网 发布:南充行知小学 编辑:程序博客网 时间:2024/05/22 12:59
我只是将文档里的一些东西写了下来,我的学习参考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;
}
}
0 0
- MySQL++学习日记(二)
- DODS学习日记(二)
- “指针”学习日记(二)
- android学习日记二
- Arduino学习日记二
- Lua学习日记二
- Mysql学习日记
- MySql学习 日记
- MySQL 学习日记
- Oracle 学习日记(二)
- 黑马程序员学习日记二
- JavaScript学习日记(二)
- Metasploit渗透学习日记二
- LDD3源码学习日记<二>
- linux学习日记(二)
- numpy学习日记(二)
- python学习日记(二)
- 嵌入式学习日记(二)
- UIView的层级关系和控制(swift)
- Java中的值传递和引用传递
- Linux下防止进程使用swap及防止OOM机制导致进程被kill掉
- 安卓四大组件之——Service详解
- 【面试】2016校园招聘面试--京东
- MySQL++学习日记(二)
- pentaho 示例Cube配置详解(SQL Server版本)
- 关于spring的使用事物与不使用事物的区别
- android 系统内置应用升级
- c总结6 --- 在字符串键值对中提取Value(指针学习5)
- 第一次参加MDCC,嗟乎,远矣!
- opengl 程序基本结构
- 《Crazy Food》项目总结
- OpenGL3.3教程-----First Triangle