首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法更新数据库列-目标C

无法更新数据库列-目标C
EN

Stack Overflow用户
提问于 2018-12-03 23:05:28
回答 1查看 36关注 0票数 0

我正在尝试使用以下函数更新表中的列:

代码语言:javascript
运行
复制
-(void)updateID:(NSString*)ID{
    NSString *queryInsertAndUpdate =
    [NSString stringWithFormat:
     @"UPDATE mytable set ID = '%@' limit 1",ID];

    const char* query=[queryInsertAndUpdate UTF8String];
    sqlite3_stmt *stmt = nil;

    sqlite3_exec(_database, "BEGIN EXCLUSIVE TRANSACTION", 0, 0, 0);

    if (sqlite3_prepare_v2(_database, query, -1, &stmt, NULL) == SQLITE_OK) {
        if(sqlite3_step(stmt) == SQLITE_DONE) {
            NSLog(@"Query Executed");
        } else {
            NSLog(@"Query NOT Executed: %s", sqlite3_errmsg(_database));
        }
        sqlite3_finalize(stmt);

    }else{
        NSLog(@"Statement NOT Prepared: %s", sqlite3_errmsg(_database));
    }
}

当我运行这个函数时,一切正常,列也得到了更新。我之所以知道这一点,是因为我向数据库发出关于特定表的调用,并检查结果。问题是,当我调用同一个函数从另一个类读取表的条目时,我得到了不同的结果。

具体地说,当我调用:

代码语言:javascript
运行
复制
AppDelegate* appDelegate = (AppDelegate*)[UIApplication sharedApplication].delegate;
[appDelegate initViewController];

initViewController中,我调用同一个函数来读取表,并在更新之前获取列的条目。

为什么会发生这种情况?我可以提供更多的代码,如果需要。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53596431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档