sqlite回调函数CallBack
来源:互联网 发布:找人脉的软件 编辑:程序博客网 时间:2024/06/05 11:04
最近项目上使用到Sqlite数据库,在进行数据库查询时使用它的回调函数,发现不知道它应该怎么将数据返回。下面记录回调函数的使用:
int CSqlite::BackCall(void *data, int nColumn, char **colValues, char **colNames) //回调函数
{
CSqlite *pT =(CSqlite*)data;
pT->column = nColumn;
for(int i=0;i<nColumn;i++)
{
//pT->strVal += colNames[i];
//pT->strVal += ":";
pT->strVal += colValues[i];
pT->strVal += "\n";
}
return 0;
}
在此函数中第一个参数data是sqlite3_exec语句中传入的第四个参数(this指针),通过data参数,你可以传入一些特殊的指针(比如类指针、结构指针),然后在这里面强制转换成对应的类型(这里面是void*类型,必须强制转换成你的类型才可用)。然后操作这些数据;
第二个参数nColumn是这一条记录有多少个字段;
第三个参数colValues里包含了查找到的所有数据;
第四个参数colNames表示那一列的字段名。
本程序将查询到的数据保存在字符串strVal中,可通过分解CString字符串获得需要的数据。
int CSqlite::OpenSqlite(char *SqlName)
{
if(sqlite3_open(SqlName,&sdb))
{
printf("sdb open failed\n");
return -1;
}
return 0;
}
int CSqlite::CloseSqlite()
{
sqlite3_close(sdb);
return 0;
}
int CSqlite::SqlExecute(char *sql_state)
{
strVal.Empty();
if(sqlite3_exec(sdb,sql_state,BackCall,this,&err_msg)!=SQLITE_OK)
{
printf("sql execute error %s\n",err_msg);
return -1;
}
return 0;
}
- sqlite回调函数CallBack
- CALLBACK回调函数
- CallBack 回调函数
- CALLBACK回调函数
- 回调函数 callback
- Callback回调函数
- 回调函数 CALLBACK
- 回调函数CALLBACK
- 回调函数callback
- 回调函数CALLBACK
- 回调函数callback
- 回调函数callback()
- callback 回调函数
- callback回调函数
- 回调函数(CallBack)
- 关于callback回调函数
- 回调函数(Callback Function)
- 什么是回调函数(callback)
- 《C语言深度解剖》
- Vmware9.0虚拟机模拟linux中创建dhcp服务器
- HOJ 2685 POJ 2777 Count Color
- likely unlikely()详解
- hibernate学习笔记16--一对一实现懒加载
- sqlite回调函数CallBack
- hdu2430 单调队列
- Linux Raw Socket
- [C++]STL string类
- 带参构造函数为结构体对象数组赋值的方法
- php 超级好用的特殊字符过滤函数
- linux 设备驱动常用头文件
- DevExpress窗体边框随界面风格变化而变化
- C/C++经典面试题之判断链表是否有环