sqlite C++ 的sqlite3_get_table函数使用
来源:互联网 发布:英国普利茅斯大学 知乎 编辑:程序博客网 时间:2024/06/11 21:13
最近项目中需要使用sqlite,发现纯C风格的函数使用起来确实难受,就简答了做了一个封装下面是代码:
bool xxx::fun_sqlite3_get_table(std::function<void(char **, int, int) > f, std::string sql)
{
char **pazResult;
int pnRow;
int pnColumn;
auto rc = sqlite3_get_table(m_db, sql.c_str(), &pazResult, &pnRow, &pnColumn, NULL);
if (rc == SQLITE_OK) {
f(pazResult, pnRow, pnColumn);//用函数对象进行数据处理
sqlite3_free_table(pazResult);
return true;
}
return false;
}
下面是使用
bool xxx::get_attribute_head(std::set<std::string> & setstr)
{
std::string strsql = "pragma table_info ('TDGeoAttributeInfo')";
auto fun = [&](char **pazResult, int pnRow, int pnColumn) {
int nIndex = pnColumn;
for (int i = 0; i < pnRow; i++)
{
for (int j = 0; j < pnColumn; j++)
{
if (strcmp(pazResult[j], "name") == 0)
{
setstr.insert(pazResult[nIndex]);
}
++nIndex;
}
}
};//包装lambda表达式
return fun_sqlite3_get_table(fun, strsql);
}
- sqlite C++ 的sqlite3_get_table函数使用
- sqlite3_get_table 的函数使用
- linux 下sqlite的 C编程之sqlite3_get_table
- 嵌入式 linux下sqlite的C编程之sqlite3_get_table
- linux 下sqlite的 C编程之sqlite3_get_table
- Linux c==sqlite的sqlite3_get_table(37)
- sqlite3_get_table(),sqlite3_free_table()的使用
- sqlite3_get_table()函数
- linux下sqlite数据库用c语言sqlite3_get_table查询数据
- [挖坑]sqlite数据库中的sqlite3_get_table接口为什么不建议使用
- sqlite3_get_table使用举例
- sqlite3_get_table使用举例
- sqlite3_get_table 使用举例
- sqlite3_get_table()
- sqlite3_get_table()
- sqlite3_get_table()
- sqlite3_get_table()
- sqlite入门基础(二):sqlite3_get_table,sqlite3_free_table
- ajaxupload返回带有pre标签的数据处理方法
- pytorch学习笔记(十五):pytorch 源码编译碰到的坑总结
- 文章标题
- 从概念到案例:初学者须知的十大机器学习算法
- 解密ln( )函数
- sqlite C++ 的sqlite3_get_table函数使用
- 网易2017秋招编程题:计算糖果 [python]
- ADB server didn't ACK * failed to start daemon *
- 自总结Linux命令
- qduoj 196 李院长发红包
- 3.3 决策树DecisionTrees
- shell script 实现累加计算
- Windows、linux系统使用命令提示符功能(cmd,command,又称命令行)详细图文教程和手册下载
- 7-4 求幂级数展开的部分和(20 分)