sqlite
文章平均质量分 59
szcarewell
这个作者很懒,什么都没留下…
展开
-
sqlite关闭数据库连接
sqlite3_finalize int sqlite3_finalize(sqlite3_stmt *pStmt);这个过程销毁前面被sqlite3_prepare创建的准备语句,每个准备语句都必须使用这个函数去销毁以防止内存泄露。在空指针上调用这个函数没有什么影响,同时可以准备语句的生命周期的任一时刻调用这个函数:在语句被执行前,一次或多次调用sqlite_reset之后,或转载 2016-05-26 07:26:45 · 2179 阅读 · 0 评论 -
sqlite3函数sqlite3_exec
函数:sqlite3_exec(),称为便捷函数,封装了好多任务。 函数声明: int sqlite3_exec( sqlite * , const char * sql , sqlite_callback , void *data , char ** errmmsg) ; 其中 sqlite* 表示打开的数据库; s转载 2016-04-20 22:01:54 · 4123 阅读 · 0 评论 -
sqlite3数据存储与读取
SQLite3是嵌入在iOS中的关系型数据库,对于存储大规模的数据很有效。SQLite3使得不必将每个对象都加到内存中。基本操作:(1)打开或者创建数据库sqlite3 *database;int result = sqlite3_open("/path/databaseFile", &database);如果/path/databaseFile不存在,则创建它,否则打开它。转载 2016-04-20 21:57:15 · 2846 阅读 · 0 评论 -
sqlite3函数sqlite3_prepare
这个函数将sql文本转换成一个准备语句(prepared statement)对象,同时返回这个对象的指针。这个接口需要一个数据库连接指针以及一个要准备的包含SQL语句的文本。它实际上并不执行(evaluate)这个SQL语句,它仅仅为执行准备这个sql语句函数定义(仅列出UTF-8的)int sqlite3_prepare( sqlite3 *db, /* D转载 2016-04-20 21:52:19 · 6040 阅读 · 0 评论 -
sqlite函数sqlite3_step
这个过程用于执行有前面sqlite3_prepare创建的准备语句。这个语句执行到结果的第一行可用的位置。继续前进到结果的第二行的话,只需再次调用sqlite3_setp()。继续调用sqlite3_setp()知道这个语句完成,那些不返回结果的语句(如:INSERT,UPDATE,或DELETE),sqlite3_step()只执行一次就返回函数定义int sqlite3_step(sq转载 2016-04-20 21:50:37 · 13868 阅读 · 0 评论 -
sqlite获取 sqlite3_step 结果中的某列的值
首先执行 sqlite3_prepare_v2再执行 sqlite3_step然后-----------------------------------------------------------------------------------这个过程从执行sqlite3_step()执行一个准备语句得到的结果集的当前行中返回一个列。每次sqlite3_step得到一个结果转载 2016-04-20 21:48:20 · 6398 阅读 · 0 评论 -
sqlite关闭数据库连接
sqlite3_finalize int sqlite3_finalize(sqlite3_stmt *pStmt);这个过程销毁前面被sqlite3_prepare创建的准备语句,每个准备语句都必须使用这个函数去销毁以防止内存泄露。在空指针上调用这个函数没有什么影响,同时可以准备语句的生命周期的任一时刻调用这个函数:在语句被执行前,一次或多次调用sqlite_reset之后,或转载 2016-04-20 21:33:57 · 3282 阅读 · 0 评论 -
sqlite线程模式
SQLite支持3种线程模式: 单线程:这种模式下,没有进行互斥,多线程使用不安全。禁用所有的mutex锁,并发使用时会出错。当SQLite编译时加了SQLITE_THREADSAFE=0参数,或者在初始化SQLite前调用sqlite3_config(SQLITE_CONFIG_SINGLETHREAD)时启用。 多线程:这种模式下,只要一个数据库连接不被多个线程同时使用就是安全转载 2016-04-20 20:57:20 · 1138 阅读 · 0 评论 -
sqlite异常掉电相关问题(2)
相信很多使用SQLite3当做数据库的人都会一个现象,那就是当SQLite3有做写入的动作时,SQLite3会自动产生一个名为"数据库名称-journal"的暂存档。这是做什么用的呢?答案是用来Rollback ,换句话说,就是当数据写入数据库有失败动作时,透过journal档案予以复原到未更动前(原始)数据,来确保数据完整与一致性。如果在每次写入的时间很长或频繁的进行数据库写入情况下,因转载 2016-04-20 20:41:43 · 4083 阅读 · 0 评论 -
sqlite异常掉电相关问题(1)
sqlite3默认会开启journal,为了进行rollback。但是在突然断电的情况下,journal文件很容易就损坏了。目前还没有发现数据库文件本身被损坏的情况。一旦journal文件损坏,就没法打开数据库文件了。但是可以把journal机制关闭。一旦journal文件损坏,还会造成文件系统损坏,journal文件都无法删除掉。对journal文件所在目录进行ls的时候,会转载 2016-04-20 20:34:04 · 3969 阅读 · 0 评论 -
sqlite3事务实例
函数:sqlite3_exec(),称为便捷函数,封装了好多任务。 函数声明: int sqlite3_exec( sqlite * , const char * sql , sqlite_callback , void *data , char ** errmmsg) ; 其中 sqlite* 表示打开的数据库; s转载 2016-04-20 22:19:02 · 631 阅读 · 0 评论