位置: 编程技术 - 正文

Sqlite 常用函数 推荐

编辑:rootadmin
1 、打开数据库: 说明:打开一个数据库,文件名不一定要存在,如果此文件不存在, sqlite 会自动创建。第一个参数指文件名,第二个参数则是定义的 sqlite3 ** 结构体指针(关键数据结构),这个结构底层细节如何,您不用管它。 int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 返回值:表示操所是否正确 ( SQLITE_OK 操作正常) 2 、关闭数据库: 说明:如果用 sqlite3_open 开启了一个数据库,结尾时不要忘了用这个函数关闭数据库。 int sqlite3_close(sqlite3*); // 参数就是刚才的结构体,也就是数据库句柄 3 、执行 SQL 语句: 说 明:这个函数的功能是执行一条或者多条 SQL 语句, SQL 语句之间用 “;” 号隔开。建议在执行一条或者多条 SQL 语句得时候,指定第三个参数回调函数,在 回调函数中可以获得执行 Sql 得详细过程,如果所有 Sql 执行完毕则应该返回 0 ,否则,则说明这次执行并没有完全成功。第五个参数:如果执行失败(没有返回 0 )则可以查看第五个阐述得值。来查看详细错误信息。 int sqlite3_exec( sqlite3*, /* 已经打开的数据库句柄 */ const char *sql, /* 要执行的 Sql 语句 */ sqlite_callback, /* 回调函数 */ void *, /* 传递给回调函数的参数 */ char **errmsg /* 保存错误信息 */ ); 通常 sqlite3_callback 和它后面的 void* 这两个位置都可以填 NULL ,表示不需要回调。比如您做 insert 操作,做 delete 操作,就没有必要使用回调。而当作 select 时,就要使用回调,因为 sqlite3 把数据查出来,得通过回调告诉你查出了什么数据。 4 、 exec 的回调 typedef int (*sqlite3_callback)(void*, int, char**, char**); 说明:你的回调函数必须定义为上面这个函数的类型。 例如: int LoadMyInfo( void * para, int n_column, char ** column_value, char ** column_name ) { //para 是你在 sqlite3_exec 里传入的 void * 参数 // 通过 para 参数,你可以传入一些特殊的指针(比如类指针、结构指针),然后在这里面强制转换成对应的类型(这里面是 void* 类型,必须强制转换成你的类型才可用)。然后操作这些数据 //n_column 是这一条记录有多少个字段 ( 即这条记录有多少列 ) // char ** column_value 是个关键值,查出来的数据都保存在这里,它实际上是个 1 维数组(不要以为是 2 维数组),每一个元素都是一个 char * 值,是一个字段内容(用字符串来表示,以 结尾) //char ** column_name 跟 column_value 是对应的,表示这个字段的字段名称 5 、取当前插入位置: 功能:返回你前一次插入得位置,从 1 开始, sqlite3* 为你打开数据库所得到得句柄。 long long int sqlite3_last_insert_rowid(sqlite3*); 6 、非回调 select 查询: 功能:执行一次查询 Sql 并且返回得到一个记录集。 int sqlite3_get_table( sqlite3*, /* 已经打开的数据库句柄 */ const char *sql, /* 要执行的 Sql 语句 */ char ***resultp, /* 保存返回记录集的指针 */ int *nrow, /* 返回记录数(及查出多少行) */ int *ncolumn, /* 返回字段数(多少列) */ char **errmsg /* 返回错误信息 */ ) 说明:第三个参数是查询结果,它是一维数组,内存布局为:第一行是字段名称,后面是紧接着是每个字段的值。 实例: int main( int , char ** ) { sqlite3 * db; int result; char * errmsg = NULL; char **dbResult; int nRow, nColumn; int i , j; int index; result = sqlite3_open( “c:\Dcg_database.db”, &db ); if( result != SQLITE_OK ) { return -1; } // 数据库操作代码 // 假设前面已经创建了 MyTable_1 表 // 开始查询,传入的 dbResult 已经是 char ** ,这里又加了一个 & 取地址符,传递进去的就成了 char *** result = sqlite3_get_table( db, “select * from MyTable_1”, &dbResult, &nRow, &nColumn, &errmsg ); if( SQLITE_OK == result ) { // 查询成功 index = nColumn; // 前面说过 dbResult 前面第一行数据是字段名称,从 nColumn 索引开始才是真正的数据 printf( “ 查到 %d 条记录 n”, nRow ); for( i = 0; i < nRow ; i++ ) { printf( “ 第 %d 条记录 n”, i+1 ); for( j = 0 ; j < nColumn; j++ ) { printf( “ 字段名 :%s ?> 字段值 :%sn”, dbResult[j], dbResult [index] ); ++index; // dbResult 的字段值是连续的,从第 0 索引到第 nColumn - 1 索引都是字段名称,从第 nColumn 索引开始,后面都是字段值,它把一个二维的表(传统的行列表示法)用一个扁平的形式来表示 } printf( “-------n” ); } } // 到这里,不论数据库查询是否成功,都释放 char** 查询结果,使用 sqlite 提供的功能来释放 sqlite3_free_table( dbResult ); // 关闭数据库 sqlite3_close( db ); return 0; } 7 、释放查询结果: 功能:释放当前查询的记录集所占用的内存 void sqlite3_free_table(char **result); 实例:( SQLite 数据库使用回调函数的简单 C 语言实例) 编译: [root@localhost test]# gcc sql.c -o sql -l sqlite3

推荐整理分享Sqlite 常用函数 推荐,希望有所帮助,仅作参考,欢迎阅读内容。

Sqlite 常用函数 推荐

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

Sqlite 操作类代码 1.ADO.NETProviderForSQLite.ADO.NET提供程序是香港(貌似)一个公司提供的.项目地址见:

System.Data.SQLite 数据库详细介绍 SQLite介绍在介绍System.Data.SQLite之前需要介绍一下SQLite,SQLite是一个类似于Access的单机版数据库管理系统,它将所有数据库的定义(包括定义、表、索引

保护你的Sqlite数据库(SQLite数据库安全秘籍) SQLite无任何限制的授权协议以及支持大部分标准的SQL语句,相信会有越来越多的人使用这个数据库。PHP与SQLite的结合就如同当年的ASP与ACCESS结合一样,

标签: Sqlite 常用函数 推荐

本文链接地址:https://www.jiuchutong.com/biancheng/312802.html 转载请保留说明!

上一篇:保护你的Sqlite数据库(SQLite数据库安全秘籍)(如何保护数据库)

下一篇:Sqlite 操作类代码

  • 金税四期对增值税发票的比对
  • 报表没有其他收入怎么办
  • 分包从属总包选择简易计税可以吗
  • 印花税计税基数不包括哪些
  • 减免税款计入哪个科目
  • 营业成本包括期初存货成本和期末存货成本
  • 多交的增值税怎么退
  • 个人独资企业变更投资人要交税吗
  • 出售无形资产计入资产处置损益还是营业外收入
  • 电汇凭证如何使用
  • 纳税人选择简易办法一经选择
  • 房地产企业简易计税
  • 房地产企业临时售楼部房产据含土地价值吗
  • 股东转入的钱算什么
  • 个人账户付款可以开公司发票吗
  • 脚手架出租生意
  • 城建税及教育费附加税怎么算
  • 应付利润是会计科目吗
  • 房租的应收必须交吗
  • 个体工商户生产经营所得税税率表2021
  • 集团公司奖励发放遵循什么原则
  • 金融企业不良资产批量收购处置业务
  • 全年累计应税所得额
  • 处理固定资产怎么计算
  • 上月未计提税费,本月可以补计提吗
  • 计提社保公司承担部分怎么算
  • 公司租赁个人车辆需要哪些手续
  • 华为哪些手机有hicar
  • 成立非盈利组织的条件
  • 未分配利润是怎么算出来的
  • 如何修复win7系统引导
  • 总公司人员的工资子公司发,如何报税?
  • 退回的企业所得税怎么做账
  • 有留抵税额怎么做分录
  • 点云目标检测数据集
  • php 如何防止接口被刷
  • vue使用技巧
  • 分页page
  • 研发人员餐费
  • python datetime把日期转换字符串
  • 公允价值变动损益会计处理
  • 增值税普通发票和专用发票有什么区别
  • 公司租赁个人车辆账务处理
  • 现金流量表季报本月数是三个月的数据吗
  • 快递公司账务处理流程及方法总结
  • 小规模纳税人怎么开增值税专用发票
  • 金税盘的服务费
  • 人民币报关可以收美金吗
  • 一般纳税人购入需要安装的生产设备,其入账价值包括
  • 票据的收款人和持票人有什么区别
  • 预付款已经开了发票要怎么做账
  • 公司进行债券投资的缺点
  • 短信收到电子退库收入什么意思
  • 外经证如何缴税
  • 冲回去年收入会计分录
  • 公司与股东的往来款
  • 经营性应收项目的计算公式
  • 销售预付卡的账务处理
  • 开销项负数的流程
  • 如何避免电子发票重复报销的情况
  • 免除债务会计处理
  • 免缴教育费附加什么意思
  • 建筑公司的会计好做吗
  • 会计中结转属于什么科目
  • 安装sql server 2008硬件要求
  • u盘装系统win8
  • win7系统怎么用无线接收器怎么用
  • win10开机自动启动软件怎么设置
  • linux系统概述
  • win8的开始
  • win8怎么改成win10
  • 队列remove
  • unity gpu优化
  • 监听state
  • jquery实现ajax加载超时提示的方法
  • 理解的英文
  • python dj
  • 朝阳区地方税务局电话
  • 小规模纳税人是按月还是按季度申报增值税
  • 2021年十大慈善企业
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设