xcode打开sqlite3数据库的遇到的问题以及数据库操作方法

本文介绍了在Xcode中使用SQLite3时遇到的问题,特别是sqlite3_prepare_v2()函数返回非零值的情况。通过检查数据库路径、复制数据库文件到正确位置来解决问题。同时,详细阐述了SQLite数据库执行SQL语句的过程,包括编译SQL、绑定参数、执行语句、获取数据和释放内存。最后,展示了简单的SQLite数据库操作函数调用示例。
摘要由CSDN通过智能技术生成

当调用 sqlite3_prepare_v2() 函数的时候,是一个将SQL语句编译为sqlite内部一个结构体(sqlite3_stmt).该结构体中包含了将要执行的的SQL语句的信息.

       通常情况下,应该是返回0。还有一些时候是返回其他数值。我以1为例,简单介绍一下错误解决的思路和方法:

我们尝试用以下代码来进行测试:

// Get the path to the documents directory and append the databaseName

NSString*documentPaths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

NSString *documentsDir = [documentPaths objectAtIndex:0];

databasePath= [documentsDirstringByAppendingPathComponent:databaseName];

   NSFileManager*fileManager = [NSFileManagerdefaultManager];

  BOOL success = [fileManagerfileExistsAtPath:databasePath];

      上面的这个path,我们可以看到,我们需要连接的数据库的那个路径。有时候,如果你的工程创建好了以后,在运行时会把database复制到这个路径下面。如果中途数据库发生了变化,随之有可能没有拷贝过去,那么这个路径下的数据库文件会和你工程里面的不一致。也许这个path下面的是一个大小为0字节的空数据库。所以通常即便是发现了数据库的存在,但是也不能保证你数据库的结构体是正确的。因此必须确保该数据库是所需要添加的数据库。操作方法如下:

        NSString*defaultDBPath           =[[[NSBundlemainBundle]resourcePath]stringByAppendingPathComponent:@"databaseName"];

success = [fileManag

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值