加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite 基本回调用法

发布时间:2020-12-12 20:12:17 所属栏目:百科 来源:网络整理
导读:#include sqlite3.h#include stdio.h#include stdlib.h//n_column 是列数,在select语句中采用了*,而该表有两列,所以此值为2,column_value 和 column_name 应该看成是一维指针,它指向的是一个//char *的字符串int LoadMyInfo (void *para,int n_column,char *
#include <sqlite3.h>
#include <stdio.h>
#include <stdlib.h>

	//n_column 是列数,在select语句中采用了*,而该表有两列,所以此值为2,column_value 和 column_name 应该看成是一维指针,它指向的是一个
	//char *的字符串
int LoadMyInfo (void *para,int n_column,char ** column_value,char ** column_name){
	int i;
	printf("record %d field n",n_column);
	
	for( i = 0; i < n_column; i++){
		printf("field name : %s  field value: %s n",column_name[i],column_value[i]);
	}
	printf("-------------------------n");
	return 0;
}

int main(){
	sqlite3 *db;
	int result;
	char *errmsg = NULL ;
	result = sqlite3_open("C://sely.db",&db);
	if( result != SQLITE_OK){
		return -1;
	}
	
	result = sqlite3_exec(db,"create table MyTable_1(ID integer primary key autoincrement,name varchar(32))",NULL,&errmsg);
    if(result != SQLITE_OK){
		printf("create table error: %d,reason : %s",result,errmsg);
	}

	result = sqlite3_exec(db,"insert into MyTable_1 (name)  values("walk")",&errmsg);
	if(result != SQLITE_OK){
		printf("create table error: %d,errmsg);
	}

    result = sqlite3_exec(db,"insert into MyTable_1 (name) values("bus")","insert into MyTable_1 (name)  values("bike")","insert into MyTable_1 (name) values("car")",errmsg);
        }
	
	//loadMyInfo 是回调函数,每次有一个记录被查询出,都会调用一次,结果集中有多少记录,就会执行多少次!    
	result = sqlite3_exec(db,"select *from MyTable_1",LoadMyInfo,errmsg);
	}

	sqlite3_close(db);
	system("pause");
	return 0;
}
/* 执行结果如下:
record 2 field
field name : ID field value: 1
field name : name field value: walk
-------------------------
record 2 field
field name : ID field value: 2
field name : name field value: bus
-------------------------
record 2 field
field name : ID field value: 3
field name : name field value: bike
-------------------------
record 2 field
field name : ID field value: 4
field name : name field value: car
-------------------------
Press any key to continue . . .
*/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读