SQLite一些技巧总结.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQLite一些技巧总结

判断数据库是否为空: select count(*) from sqlite_master sqlite的两个问题:update速度和并发操作 tmStart = time(0); db.execDML(begin transaction;); for (i = 0;i nRowsToCreate;i ++) { sprintf(traTabSQL,update traTab set trDes = %s where trNo=%d;, recDesStr, i); db.execDML(traTabSQL); } db.execDML(commit transaction;); tmEnd = time(0); update的花了很长时间,单条记录大概1024字节,也用了事务,请问这是为啥呢。 还有个问题就是同时打开一个db文件,在一个地方做了更改,另外一个用户查询的结果没有变更?如何查询记录条数?c语言中,可以通过如下方式获得: ret = sqlite3_get_table(db, select count(*) from table1 where field=1, dbresult, nrom, ncol, errmsg); recordnum = atoi(dbresult[1]); sqlite3_step后,如何知道查询返回的行数 sqlite3_prepare(db, select * from list;, -1, stat, 0); sqlite3_step(stat); 调用sqlite3_data_count(stat);和sqlite3_column_count(stat);返回的都是列数。azResult是一个二级指针,它的值是有sqlite3_get_table()这个函数生成,我可以定义另外一个二级指针来保存这个值,不用的时候再调用sqlite3_free_table()来释放它。SQLITE里查询日期与日期相减select datetime(2006-10-17 00:20:00,+1 hour,-12 minute); 结果:2006-10-17 01:08:00 select date(2006-10-17,+1 day,+1 year); 结果:2007-10-18 创建了一个新表后,若没有数据,怎样得到表里的字段名啊?你用 const char *sqlite3_column_database_name(sqlite3_stmt*,int); const void *sqlite3_column_database_name16(sqlite3_stmt*,int); const char *sqlite3_column_table_name(sqlite3_stmt*,int); const void *sqlite3_column_table_name16(sqlite3_stmt*,int); const char *sqlite3_column_origin_name(sqlite3_stmt*,int); const void *sqlite3_column_origin_name16(sqlite3_stmt*,int); 这个系列的函数就行,不然就从sqlite_master表中查一下sqlite3_exec(db,BEGIN;,0,0,zErrMsg); sqlite3_exec(db,COMMIT;,0,0,zErrMsg); int result;? result = sqlite3_exec( db, begin transaction, 0, 0, zErrorMsg ); //开始一个事务 result = sqlite3_exec( db, commit transaction, 0, 0, zErrorMsg ); //提交事务 result = sqlite3_exec( db, rollback transaction, 0, 0, zErrorMsg ); //回滚事务 /MySqlite/6/409.Html 在SQLite中如果想处理时间的应该使用字段的默认值就可以了 CURRENT_TIME will generate the current local time in ANSI/ISO time format (HH:MM:SS). CURRENT_DATE will generate the current date (in YYYY-MM-DD format). CURRENT_TIMESTAMP will produce a combination of these two (in YYYY-MM-DD HH:MM:

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档