SQLite 参数化查询

摘要:
标准工时>#包括<#包括<constchar*data=“Callbackfunctioncalled”;sqlite3_stmt*res;退出(0);ANDAGE='32'“;&sqlite3_errmsg(db));}intstep=sqlite3_step(res);但这里不需要}sqlite3_finalize(res);

SQLite参数化查询

首先给出两个参考博客:

Sqlite DB

sqlite3使用简介

贴出一段自己用的代码:

#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>


int main(int argc, char* argv[])
{
   sqlite3 *db;
   char *zErrMsg = 0;
   int rc;
   char *sql;
   const char* data = "Callback function called";
   sqlite3_stmt *res;
   /* Open database */
   rc = sqlite3_open("test.db", &db);
   if( rc ){
      fprintf(stderr, "Can't open database: %s
", sqlite3_errmsg(db));
      exit(0);
   }else{
      fprintf(stderr, "Opened database successfully
");
   }
   /* Create SQL statement */
   sql = "SELECT count(*) from COMPANY WHERE ID = ? AND AGE = '32'";

   /* Execute SQL statement */
   rc = sqlite3_prepare_v2(db, sql, -1, &res, 0);
    if (rc == SQLITE_OK)
     {
        sqlite3_bind_int(res, 1, 1);//查询第一个问好处ID为1的条目
        printf("bind success!
");
    } 
    else {
        fprintf(stderr, "Failed to execute statement: %s
", sqlite3_errmsg(db));
    }
    int step = sqlite3_step(res);
   if (step == SQLITE_ROW) {
      printf("%d: ", sqlite3_column_int(res, 0));    //sqlite3_column_* 有多种形式
      //printf("%s
", sqlite3_column_text(res, 1));//若存在第二个问号,需要此句,但本处不需要
    }
    sqlite3_finalize(res);
    sqlite3_close(db);
    return 0;
}

免责声明:文章转载自《SQLite 参数化查询》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇公用技术——数据格式——JSON——Jackson类库——序列化——属性,键映射关系编写SQL需要注意的细节 Checklist总结下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C# 模拟鼠标(mouse_event)

想必有很多人在项目开发中可能遇见需要做模拟鼠标点击的小功能,很多人会在 百度过后采用mouse_event这个函数,不过我并不想讨论如何去使用mouse_event 函数怎么去使用,因为那没有多大意义。 [csharp] view plaincopy static void mouse_event(int dwFlags, int ...

关于redshift数据库当中的STL_LOAD_ERRORS问题的解决

今天写了Python脚本准备将s3上面的数据迁移到redshift上面去,突然发现在数据load的时候出现了STL_LOAD_ERRORS,刚接触到redshift也没有报错根本不知道怎么解决。  这里显示报错了,具体的日志要去STL_LOAD_ERRORS当中查看,这个其实是一张表。在这个表当中有报错的相信原因。怎么去查询原因那,查询的语句如下: S...

Windows异常处理机制介绍

转自:http://hi.baidu.com/zwegpcwvtybivxq/item/a8b7e6c15e8b15155150581f 最近做了一个Windows下的异常处理模块,查阅了一些新的资料,结合我自己的理解,将一些点滴记录如下,希望对兄弟们有所帮助。 一、C++标准异常 也就是try、throw、catch这三个关键字。 try{    …… ...

(笔记)Linux下C语言实现静态IP地址,掩码,网关的设置

#include <sys/ioctl.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <net/if.h> #inclu...

Python 基础之推导式

一.列表推导式 通过一行循环判断,遍历出一系列数据的方式就是推导式 特点:方便,简洁,可以实现一些简单的功能推导式当中只能跟循环和判断(单项分支)种类分为三种: 列表推导式  集合推导式  字典推导式 1.推导式内容讲解 #(1) 基本语法#例: #[1,2,3,4] => [2,4,6,8]lst = [1,2,3,4]lst2 = []for i...

linux运行jar、nohup: ignoring input and redirecting stderr to stdout

在linux服务器上运行Jar文件时通常的方法是: $ java -jar test.jar //这种方式特点是ssh窗口关闭时,程序中止运行.或者是运行时没法切出去执行其他任务 jar在后台运行的方法: 方法一: $ nohup java -jar test.jar & //nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行...