sqlite3 C API编程
1,创建测试数据库,表;
2,数据库连接对象函数
sqlite3是数据库连接对象(database connection object),用来操作数据库(operator DBs);
打开数据库对象函数(open db object function),
int sqlite3_open(
const char *filename, //数据库文件名,指我们在CLI 输入[root@ruiy ~]#sqlite3 /ruiy
sqlite3 **ppDb //创建的数据库连接对象
);
int sqlite3_close(sqlite3) //前面打开的数据库连接对象;
通过interactieve 输入sqlite3 db file fullPath;
完整码子及测试结果
<3,API执行sql>
sqlite3 C API插入数据
执行sql语句函数
int sqlite3_exec(
sqlite3, //打开数据库的连接对象
const char *sql, //执行的sql语句
int (*callback)(void*,int char**,char**), //回调函数
void *, //回调函数的第一个参数
char **errmsg //错误消息
);
哈哈,我这有一张rui的表,
看源码
上面插入birthday 日期时间的地方一定要用单引号哦,亲!
不要gcc编译器就在胡乱报错了;
对比下我们在API语句中执行的sql语句,在数据库CLI下验证插入的数据
查询函数,
int sqlite3_get_table(
sqlite3 *db, //数据库连接对象
const char *zSql, //将要执行的sql语句
char ***pazResult, //查询的结果集
int *pnRow, //结果集行数
int *pnColumn, //结果集列数
char **pzErrmsg //查询的错误消息
);
释放结果集
void sqlite3_free_table(char **result);
码子
查询结果
回调函数查询
int (*callback) (
viod*,//从sqlite3_exec传递来的参数
int, //结果集的列数
char**, //列的值
char** //列的名字
);
预处理对象(prepare process object)
int sqlite3_prepare(
sqlite3 *db, //数据库连接对象
const char *zSql, //将要执行的sql语句
int nByte, //sql语句长度 -1
sqlite3_stmt **ppStmt, //sqlite3_stmt对象
const char **pzTail //指向执行的sql语句 0
);
int sqlite3_bind_text(sqlite3_stmt*,int,const char*,int n,void(*)(void*));
int sqlite3_step(sqlite3_stmt*);
预处理对象插入
预处理对象查询
预处理对象重复使用
int sqlite3_reset(sqlite3_stmt*);
transaction dispose 事务处理()
sqlite3 C API编程的更多相关文章
- DirectX API 编程起步 #01 项目设置
=========================================================== 目录: DirectX API 编程起步 #02 窗口的诞生 DirectX A ...
- Team Foundation API - 编程访问 WorkItem
Team Foundation Server (TFS)工具的亮点之一是管理日常工作项, 工作项如Bug, Task,Task Case等. 使用TFS API编程访问TFS服务器中的工作项, 步骤如 ...
- Flink Program Guide (2) -- 综述 (DataStream API编程指导 -- For Java)
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- The MySQL C API 编程实例
在网上找了一些MYSQL C API编程的文章,看了后认为还是写的不够充分,依据自己经验写了这篇<The MySQL C API 编程实例>,希望对须要调用到MYSQL的C的API的朋友有 ...
- Mysql C语言API编程入门讲解
原文:Mysql C语言API编程入门讲解 软件开发中我们经常要访问数据库,存取数据,之前已经有网友提出让鸡啄米讲讲数据库编程的知识,本文就详细讲解如何使用Mysql的C语言API进行数据库编程. ...
- ASP.NET Web API编程——路由
路由过程大致分为三个阶段: 1)请求URI匹配已存在路由模板 2)选择控制器 3)选择操作 1匹配已存在的路由模板 路由模板 在WebApiConfig.Register方法中定义路由,例如模板默认生 ...
- Golang面向API编程-interface(接口)
Golang面向API编程-interface(接口) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Golang并不是一种典型的面向对象编程(Object Oriented Pr ...
- 利用SparkLauncher 类以JAVA API 编程的方式提交Spark job
一.环境说明和使用软件的版本说明: hadoop-version:hadoop-2.9.0.tar.gz spark-version:spark-2.2.0-bin-hadoop2.7.tgz jav ...
- HDFS shell操作及HDFS Java API编程
HDFS shell操作及HDFS Java API编程 1.熟悉Hadoop文件结构. 2.进行HDFS shell操作. 3.掌握通过Hadoop Java API对HDFS操作. 4.了解Had ...
随机推荐
- Adobe Photoshop CC 2015安装激活
分享一下Adobe Photoshop CC 2015 安装激活步骤 工具/原料 xf-adobecc2015.exe Adobe Photoshop CC 2015官方原版 方法/步骤 1 ...
- hdu 4277 USACO ORZ(dfs+剪枝)
Problem Description Like everyone, cows enjoy variety. Their current fancy is new shapes for pasture ...
- HTML5硕士学习笔记
如今,该集团经过培训的同事给大家HTML5,他出席了两个5训练日,大概过一次给我们,在一个很形象.同事们更感兴趣的是. 课后共享所有的课件.在热情的新技术,我想工作有一个良好的早晨,我决定重新学习课件 ...
- How To Make a Music Visualizer in iOS
Xinrong Guo on June 4, 2013 Tweet Learn how to create your own music visualizer! In the mid-seventi ...
- HDU 1853Cyclic Tour(网络流之最小费用流)
题目地址:pid=1853">HDU1853 费用流果然好奇妙. .还能够用来推断环...假设每一个点都是环的一部分并且每一个点仅仅能用到一次的话,那每一个点的初度入度都是1,这就能够 ...
- 一键注册控件的批处理(包含x86 和 x64)
@echo off if "%PROCESSOR_ARCHITECTURE%"=="x86" goto x86 if "%PROCESSOR_ARCH ...
- JavaScript的68个技巧一
1. 严格模式 在自己的项目中 你可以坚持只使用" 严格模式 " 或只使用" 非严格模式 "的策略.但如果你要编写健壮的代码应对各种各样的代码连接 你有两个可选 ...
- mybatis 与 反射
Mybatis是个优秀的ORM框架,所以它的反射层一定不会让我们失望 图比较大,可以开新页面查看 可以看到,Mybatis对这一块抽象的比较复杂,我们可以看到有几个比较主要的部分:Reflector. ...
- Swift中的协议
协议: 1.Swift协议用于定义多个类型应该遵守的规范 2.协议定义了一种规范, 不提供任何实现 3.协议统一了属性名, 方法, 下标, 但是协议并不提供任何实现 4.语法格式: [修饰符] pro ...
- MySql多条SQL语句的批量处理
pstmt= conn.prepareStatement(sql); for(int i=0;i<500;i++) { //准备sql语句 pstmt.setString(1, "tt ...