sqlite3更新数据库问题 SQL执行成功但数据库数据不改变

数据库打开 执行SQL一切正常 但是就是数据库的字段不更新 擦了!找了好久,求大神们看看!!!

  if ([self openDB]) {
            
            //char *errormsg;
            sqlite3_stmt *statement;//这相当一个容器,放转化OK的sql语句
            NSString *updateSql = [NSString stringWithFormat:@"UPDATE Character SET CH_IsLook = 1 WHERE id = %i",studyId];
            const char *sql = [updateSql UTF8String];
            //sqlite3_exec(_database, "BEGIN TRANSACTION", NULL, NULL, &errormsg);
            int success = sqlite3_prepare_v2(_database, sql, -1, &statement, NULL);
            
            if(success != SQLITE_OK){
                
                MyLog(@"更新数据库错误");
                sqlite3_close(_database);
                return NO;
            }
            //sqlite3_bind_int(statement, 1, studyId);
            //执行SQL语句。这里是更新数据库
            success = sqlite3_step(statement);
            
            //sqlite3_exec(_database, "COMMIT", NULL, NULL, &errormsg);
            
            //如果执行失败
            if (success == SQLITE_ERROR) {
                NSLog(@"Error: 更新数据库错误");
                //关闭数据库
                sqlite3_close(_database);
                return NO;
            }
            //释放statement
            sqlite3_finalize(statement);
            //执行成功后依然要关闭数据库
            sqlite3_close(_database);
            return YES;
        }

打印出的SQL在数据库执行时可以的,是不是上面调用执行更新额方法不对???
2014-09-05 11:27:40.903[7836:60b] 0
(lldb) po sql
"UPDATE Character SET CH_IsLook = 1 WHERE id = 1"

返回的执行码是 101  我对了一下 是说SQL执行成功了啊
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值