sqlite3:sqlite3_bind 函数

    该函数组用于绑定变量值到 prepare 语句中,也就是给 sqlite3_stmt变量赋值。前面的文章讲过,我们一定是先通过sqlite3_prepare_v2函数创建并初始化一个 sqlite3_stmt 变量语句,然后使用sqlite3_bind_xxx函数对 这个 sql语句变量进行绑定参数。

常用的sqlite3_bind函数:

int sqlite3_bind_int(sqlite3_stmt*, int, int);
int sqlite3_bind_doubule(sqlite3_stmt*, int, double);
int sqlite3_bind_text(sqlite3_stmt*, int, const char*, int, void(*)(void*));

参数:
    sqlite3_stmt: 准备语句变量指针。
		 
    第2个形参: sqlite3_stmt变量参数的序号索引值,规定最左侧的SQL参数的索引值为 1,也就是说参数索
               引值从1开始。
    
    第3个形参: 是要绑定给第2个形参指向的 变量参数的 实际值。第2个形参可以指向不同的索引值。
		
    第4个形参: 对于有4个形参的函数,第4个形参一般是第3个形参的长度。
	
    第5个形参: 是用于BLOB和字符串绑定后的 析构函数,用于在sqlite处理完blob或字符串之后处理它,一
               般可以设置为NULL。

  代码示例:
    假设表的字段结构为:person(name,age,sex),数据库指针为 pdb。

    sqlite3_stmt *pstmt;
	const char *sql = "INSERT INTO person(name, age, sex) VALUES(?,?,?);";
	nRet = sqlite3_prepare_v2(pdb, sql, strlen(sql), &pstmt, &pzTail);
	int i;

	for(i = 0; i < 10; i++){
		nCol = 1;
		sqlite3_bind_text(pstmt, nCol++, a[i].name, strlen(a[i].name), NULL);
		sqlite3_bind_int(pstmt, nCol++, a[i].age);
		sqlite3_bind_text(pstmt, nCol++, a[i].sex, strlen(a[i].name), NULL);

		sqlite3_step(pstmt);
		sqlite3_reset(pstmt);
	}

	sqlite3_finalize(pstmt);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值