SQLite3 执行sqlite3_prepare_v2的时候提示“Error:no such table: bookCollect”的原因解析

问题如下:

1、执行SQL编译的时候sqlite3_prepare_v2(sqlite, [sql UTF8String], -1, &stmt, NULL)的返回值为1,对应Apple的解释是


也就是找不到数据库文件,虽然我在模拟器文件中查看到数据库文件


解释:

这个就是SQLite3的自动处理机制,也就是“if it doesn‘t find the database,it will creat a blank database”,所以模拟器看到的数据库文件只是SQLite3进行编译的时候无法找到数据库文件从而自动创建的一个空的数据库文件。当然走到sqlite3_prepare_v2的时候会提示“Error:no such table: bookCollect”

参考:stack voerflow :stackoverfl(哈哈)ow.com/questions/21756185/sqlite3-prepare-v2-no-such-table


解决方法:

1、这是database的相对路径即可

    NSString *filePath = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/%@",KFilename];

2、如果执行SQL语句有错误的时候,可以使用下面的API接口显示详细的错误信息


SQLite3 执行sqlite3_prepare_v2的时候提示“Error:no such table: bookCollect”的原因解析,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。