Ios SQLite 3插入。即使insert不';不要失败
更新后,我的sqlite数据库不会更改。 一切似乎都很好,没有错误信息,我可以打印出来Ios SQLite 3插入。即使insert不';不要失败,ios,sqlite,Ios,Sqlite,更新后,我的sqlite数据库不会更改。 一切似乎都很好,没有错误信息,我可以打印出来 int rows= sqlite3_changes(database); NSLog(@"rows %d" , rows); 已更新的行数。尽管如此,如果我读取表(从sqlite控制台指向复制文件的库文件夹,但即使我使用新的objective-c方法读取) 更新后,它就像没有运行更新一样 这是我的全部方法。我甚至尝试过sql插入,但遇到同样的问题。 你知道我可以尝试什么吗?问题是什么 谢谢
int rows= sqlite3_changes(database);
NSLog(@"rows %d" , rows);
已更新的行数。尽管如此,如果我读取表(从sqlite控制台指向复制文件的库文件夹,但即使我使用新的objective-c方法读取)
更新后,它就像没有运行更新一样
这是我的全部方法。我甚至尝试过sql插入,但遇到同样的问题。
你知道我可以尝试什么吗?问题是什么
谢谢
-(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);
}
这不总是假的吗
(!sqlite3\u步骤(compiledStatement)=SQLITE\u完成)
Yes@HotLicks,我看不到。谢谢上面说数据库被锁定了。我必须弄清楚原因<代码>如果(sqlite3_step(compiledStatement)==SQLITE_DONE){NSLog(@“DONE”);}或者{NSLog(@“Insert failed:%s”,sqlite3_errmsg(database));}您能从plist加载它,以编程方式操作它,然后将它保存回该plist吗?