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 ...
随机推荐
- 关于 视频同步vsync 信号在不同一时候钟域採样问题
今天调试 视频 4k(3840 x 1920)的vsync信号(时钟为 297Mhz) 进入 170Mhz 的时钟域, 发现输出来的信号信号抖动特别厉害.后来才发现这是不同一时候钟域 造成的影响. 快 ...
- Codeforces 328A-IQ Test(数列)
A. IQ Test time limit per test 1 second memory limit per test 256 megabytes input standard input out ...
- 类型转换操作符static_cast、const_cast、dynamic_cast、reinterpret_cast
一.static_cast 对于类型转换,我们常常这么做: (type) expression 引进了static_cast类型转换操作符后,我们只需这样做: static_cast<type& ...
- Python之基础(一)
数学计算 要利用相关的数学计算函数,首先需要把数学模块包含进来: >>>import math 进行计算: >>> math.pi 3.14159265358979 ...
- html中编写js的方式
第一种:引用外部的js文件 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http ...
- Win8 弹出窗口不在最前端的解决方法
Win8系统的使用者有很多会遇到弹出窗口不在最前端的情况(自动隐藏,点下页面又出来),比如另存为的时候 ,或是登录路由器时弹出的登录框时. 引起这个异常的原因是与系统输入法冲突引起,但又不可能不用第三 ...
- RAC的负载均衡有2种方式
RAC的负载均衡有2种方式1:数据库服务器端 设置remote_listener2: 客户端tns配置 一般连接串这么写:ess_hb_i1= (DESCRIPTION = (ADDRESS ...
- Sicily 1156. Binary tree
题目地址:1156. Binary tree 思路: 如何愉快地前序输出呢,要在存储数据的时候根据位置来存放数据! 一开始被自己蠢哭,一直以为第一个输入的就是根结点(例子的祸害呀啊啊啊!!!!),结果 ...
- uva 10894 - Save Hridoy
#include <iostream> #include <string> #include <cstring> #include <cmath> us ...
- java三层模型与三层架构
http://zhidao.baidu.com/question/316273675.html?qbl=relate_question_4 持久层用来固化数据,如常说的DAO层,操作数据库将数据入库业 ...