当前位置:   article > 正文

sqlite3:sqlite3_bind 函数_sqlite3_bind_text

sqlite3_bind_text

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

常用的sqlite3_bind函数:

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

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

  1. sqlite3_stmt *pstmt;
  2. const char *sql = "INSERT INTO person(name, age, sex) VALUES(?,?,?);";
  3. nRet = sqlite3_prepare_v2(pdb, sql, strlen(sql), &pstmt, &pzTail);
  4. int i;
  5. for(i = 0; i < 10; i++){
  6. nCol = 1;
  7. sqlite3_bind_text(pstmt, nCol++, a[i].name, strlen(a[i].name), NULL);
  8. sqlite3_bind_int(pstmt, nCol++, a[i].age);
  9. sqlite3_bind_text(pstmt, nCol++, a[i].sex, strlen(a[i].name), NULL);
  10. sqlite3_step(pstmt);
  11. sqlite3_reset(pstmt);
  12. }
  13. sqlite3_finalize(pstmt);

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/173283
推荐阅读
相关标签
  

闽ICP备14008679号