IOS操作SQLite

在IOS中通过C代码执行对sqlite的操作,在这个过程中需要对const char * 类型和NSString类型做转换。转换方式: const char *sql  = [nsString UTF8String];
                                     NSString *string = [[NSString alloc] initWithUTF8String: sql];


对sqlite操作的基本步骤;
1.定义数据库名称,获取数据库存取路径
通过NSFIleManager 调整路径,获取路径string


得到数据库路径,为了能够执行sqlite对应的函数,需要将NSString类型的dataPath变量转换为 const char*类型的dbPath, 然后通过sqlite3_open打开数据库(如果数据库文件不存在,则会在制定路径新建对应的文件)


如果打开成功就可以通过sqlite的API对数据库进行操作,如上图的 sqlite3_exec(这个函数中包含多个参数 如:路径,数据库名称等),这个函数执行完毕后,会返回一个状态类型,可以通过状态类型判断,执行是否正常,如果没有出现预料的结果,则可以通过将在sql执行过程的的errMsg打印出来,查找问题 。
语法为: NSLog([[NSString alloc] initWithUTF8STring: errMsg]) ;   这样就可以判断是否是在执行sql过程中出现的异常。


如果是对数据库执行正删改操作,则需要预先定义变量:sqlite3_stmt *statment;然后再执行插入操作时,需要将这个statement当做参数传递进去(相当于这次操作的唯一标识


这个只是与准备,接着真正执行sql,在sqlite3_step执行时需要传入参数statment,就可以直接执行这个statment对应的sql


在执行sqlite3_step(statment)时,可以根据这个函数调用返回值,得到当前sql执行的不同状态。上图中档sqlite3_step( statement) == SQLITE_DONE时,说明sql执行成功,可以做一些提示处理。
在下图中如果 sqlite3_step( statement) == SQLITE_ROW时 说明查询到一条数据,则可以通过下面的方式获取并进行显示(如果有多行数据则可以进行while循环判断是否 == SQLITE_DONE),并执行操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值