更新后,我的 sqlite 数据库没有改变。一切似乎都很好,没有错误消息,我可以打印出来
int rows= sqlite3_changes(database);
NSLog(@"rows %d" , rows);
更新的行数。不过,如果我在更新后读取表(从 sqlite 控制台指向我复制文件的库文件夹。但即使我使用新的 Objective-c 方法读取它),它就像没有运行更新一样。
这是我的完整方法。我什至尝试过 sql insert 但遇到了同样的问题。您对我可以尝试什么或有什么问题有任何想法吗?
谢谢。
-(void)saveBookmark:(FfBookmark *) bookmark {
int resconn = sqlite3_open([pathDB UTF8String], &database);
if (resconn == SQLITE_OK) {
NSString * query = @"update bookmarks set position=? ";
const char * sqlStatement = [query UTF8String];
sqlite3_stmt * compiledStatement;
if (sqlite3_prepare_v2(database, sqlStatement, -1 , &compiledStatement, NULL) == SQLITE_OK) {
sqlite3_bind_int(compiledStatement, 1, bookmark.position);
}
if (!sqlite3_step(compiledStatement) == SQLITE_DONE) {
NSLog(@"Error @%" , sqlite3_errmsg(database));
}
int rows= sqlite3_changes(database);
NSLog(@"rows %d" , rows);
sqlite3_finalize(compiledStatement);
}
sqlite3_close(database);
}