1.需要下载的文件      http://pan.baidu.com/s/1c06NpzM

2.执行文件shell的编译

3.在c++中如何使用

#include <stdio.h>
#include <sqlite3.h>static int _sql_callback(void *notused, int argc, char **argv, char **szColName)
{int i = 0;printf("notused:0x%x, argc:%d\n", notused, argc);for (i = 0; i < argc; i++){printf("%s = %s\n", szColName[i], argv[i] == 0 ? "NULL" : argv[i]);}printf("\n");return 0;
}/** */
int main(int argc, char** argv)
{const char *sSQL1 = "create table users(userid varchar(20) PRIMARY KEY, age int, birthday datetime);";const char *sSQL2 = "insert into users values('wang', 20, '1989-5-4');";const char *sSQL3 = "select * from users;";sqlite3 *db = 0;char *pErrMsg = 0;int ret = 0;//连接数据库ret = sqlite3_open("./test.db", &db);if (ret != SQLITE_OK){fprintf(stderr, "无法打开数据库:%s\n", sqlite3_errmsg(db));sqlite3_close(db);return 1;}printf("数据库连接成功\n");//执行建表SQLret = sqlite3_exec(db, sSQL1, _sql_callback, 0, &pErrMsg);if (ret != SQLITE_OK){fprintf(stderr, "SQL create error: %s\n", pErrMsg);sqlite3_free(pErrMsg); //这个要的哦,要不然会内存泄露的哦!!!
        sqlite3_close(db);return 1;}printf("数据库建表成功!!\n");//执行插入数据ret = sqlite3_exec(db, sSQL2, _sql_callback, 0, &pErrMsg);if (ret != SQLITE_OK){fprintf(stderr, "SQL insert error: %s\n", pErrMsg);sqlite3_free(pErrMsg); //这个要的哦,要不然会内存泄露的哦!!!
        sqlite3_close(db);return 1;}printf("数据库插入数据成功!\n");//执行查询操作ret = sqlite3_exec(db, sSQL3, _sql_callback, 0, &pErrMsg);if (ret != SQLITE_OK){fprintf(stderr, "SQL error: %s\n", pErrMsg);sqlite3_free(pErrMsg);sqlite3_close(db);return 1;}printf("数据库查询成功!!\n");//关闭数据库
    sqlite3_close(db);db = 0;return 0;
}

http://blog.csdn.net/wzzfeitian/article/details/7993686

转载于:https://www.cnblogs.com/lwngreat/p/4476879.html

sqlite在c++中的使用方法相关推荐

  1. Android SQLite在应用中数据保存查询,但是拷贝的xxx.db没有数据或没有更新,.db_wal和.db_shm文件

    Android SQLite在应用中数据保存能查询,但是拷贝的xxx.db没有数据或没有更新问题,.db_wal和.db_shm文件是什么 文章目录 问题 原因 解决方法 SQLite的.db_wal ...

  2. linux中替换的方法,linux vi 中s 替换方法

    vi/vim 中可以使用 :s 命令来替换字符 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n ...

  3. vue打印props的值_vue中props传值方法

    vue中props传值方法 1.开发环境 vue 2.电脑系统 windows10专业版 3.在使用 vue开发的过程中,我们经常会使用 props进行组件的传值,下面是我的分享,希望对你有所帮助! ...

  4. Javascript中二进制数据处理方法

    Javascript中二进制数据处理方法 转载于:https://www.cnblogs.com/motadou/archive/2012/02/19/2358514.html

  5. HashSet中的add()方法( 五 )(详尽版)

    上接 HashSet中的add()方法( 四 )(详尽版) ,我们再重写一下equals()方法来看看是否可以不能存入相同的id: 在学生类中再重写equals()方法: public class S ...

  6. HashSet中的add()方法( 四 )(详尽版)

    上接 HashSet中的add()方法( 三 )(详尽版) ,我们重写一下Student类中的hashCode()方法来看看是否还能不能添加重复的学号了, 在学生类中重写hashCode()方法: p ...

  7. HashSet中的add()方法( 三 )(详尽版)

    上接HashSet中的add()方法( 二 )(详尽版) ,前两篇说的是泛型为String类的add()方法的具体执行过程,此后三篇说说泛型为自定义类的add()方法的具体执行过程: 首先让我们来自定 ...

  8. HashSet中的add()方法( 零 )(详尽版)

    我们知道在使用HashSet集合时,也就是在用HashMap集合,这是因为HashSet的底层是HashMap, public HashSet() {map = new HashMap<> ...

  9. HashSet中的add()方法( 一 )(详尽版)

    让我们用例子来理解add()方法的底层代码吧,Let's go: import java.util.HashSet;public class Test {public static void main ...

最新文章

  1. (一)七种AOP实现方法
  2. div设置宽度,实现不等比缩放,或设置最小宽度 min-width
  3. php 函数 配置文件,php的几个配置文件函数
  4. js 将多个对象合并成一个对象
  5. apache2.2.15与PHP5.3.3安装设置完成后,apache启动失败
  6. MIPS汇编实现冒泡排序法
  7. 细说WCF中的会话模式
  8. apply()、call()与bind()的用法与区别
  9. 调制:调幅(AM)与调频(FM)
  10. java数独最快解,Java解数独--世界最难数独
  11. trajan算法求lca 超级详细配图讲解
  12. iOS UIKit基本概念
  13. java医疗保险系统_医疗保险管理系统设计 Java
  14. python根据经纬度画热力图_【python】使用python按照一定格式批量输出,地图热力图经纬度格式生成器...
  15. 【java毕业设计】基于javaEE+SSH+mysql的医院在线挂号系统设计与实现(毕业论文+程序源码)——医院在线挂号系统
  16. Bootstrap第一章初识
  17. Python 打地鼠小游戏
  18. 中考计算机加试及格多少分,中考总分多少 中考各科分数是多少
  19. 详细使用git打tag,删除tag,切换到某个tag时期,删除/查看分支
  20. App ID注册地址

热门文章

  1. SpringMVC_实现简单的增删改查
  2. Java虚拟机规范(目录)
  3. 面试题:函数回调机制、异步函数回调机制图例详解 没毛用
  4. 企业融入租时代 谋求轻资产化高效运营
  5. 伊利诺伊大学厄巴纳-香槟分校
  6. IOS反汇编工具Hopper分析Crash Log
  7. Linux命令(2):free
  8. 关于hql一些不常见但好用的技巧(个人总结)
  9. loadrunner中自定义查找并替换函数
  10. JS正则表达式验证数字