iOS sqlite使用记录

本文只是记录了使用中的知识点,熟练度,深入度有限,希望看到的朋友能够多多指点,不胜感激。

//Transaction 事务
/*
事务(Transaction)是一个对数据库执行工作单元。事务(Transaction)是以逻辑顺序完成的工作单位或序列,可以是由用户手动操作完成,也可以是由某种数据库程序自动完成。

事务(Transaction)是指一个或多个更改数据库的扩展。例如,如果您正在创建一个记录或者更新一个记录或者从表中删除一个记录,那么您正在该表上执行事务。重要的是要控制事务以确保数据的完整性和处理数据库错误。

比如可以把许多的 SQLite 查询联合成一组,把所有这些放在一起作为事务的一部分进行执行,或者一组删除,插入更新操作,保证连贯性,避免出现问题。
*/
static sqlite3 * db = nil;
//...相关创建操作省略
    @try{
        char *errorMsg;
        if (sqlite3_exec(db, "BEGIN", NULL, NULL, &errorMsg) == SQLITE_OK) {
            NSLog(@"启动事务成功");
            sqlite3_free(errorMsg);
			
			///此处写上相关的数据库操作代码

            if (sqlite3_exec(db, "COMMIT", NULL, NULL, &errorMsg) == SQLITE_OK) {
                NSLog(@"提交事务成功");
            }
            sqlite3_free(errorMsg);
        } else {
            sqlite3_free(errorMsg);
        }
    } @catch(NSException *e) {
        char *errorMsg;
        if (sqlite3_exec(db, "ROLLBACK", NULL, NULL, &errorMsg) == SQLITE_OK)  {
            NSLog(@"回滚事务成功");
        }
        sqlite3_free(errorMsg);
    } @finally {}

转载于:https://my.oschina.net/snOS/blog/2961664

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值