加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite3注意的地方

发布时间:2020-12-12 20:24:18 所属栏目:百科 来源:网络整理
导读:1.使用sqlite3_exec()函数插入大量的数据时,需要使用事务,否则执行插入会慢。 sqlite3_exec(pdb,"begin transaction",0); for(...) sqlite3_exec(pdb,sql,err_msg); sqlite3_exec(pdb,"commit transaction",0); 2.上面的代码可以很好的提升速度,又有一个

1.使用sqlite3_exec()函数插入大量的数据时,需要使用事务,否则执行插入会慢。 sqlite3_exec(pdb,"begin transaction",0); for(...) sqlite3_exec(pdb,sql,&err_msg); sqlite3_exec(pdb,"commit transaction",0); 2.上面的代码可以很好的提升速度,又有一个问题如果插入操作执行失败,则err_msg需要释放。 注意不能使用free以及delete释放,需要使用函数sqlite3_free(err_msg),或者不写err_msg用0代替。 3.在lua for windows中使用sqlite3,code: require 'luasql.sqlite3' env = assert(luasql.sqlite3()) db = assert(env:connect('tst.db')) --使用事务 db:setautocommit(false) res = assert(db:execute[[create table people(name text,sex text,primary key(name))]]) assert(db:commit()) db:close() env:close() 4.使用sqlite3.lib库时可能出现错误:fatal error LNK1103: debugging information corrupt; recompile module 官方介绍这是一个调试器bug,可以关闭调试properties->linker->debugging中generate debug选项改为0 不过这样就无法断点调试。不过sqlite3.dll不会出现此问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读