我有一个sqlite的问题。sqlite3_prepare_v2没有这样的表错误
我的上述代码:
-(NSString *) filePath {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSString *dbPath = [documentsDir stringByAppendingPathComponent:@"Yok_Artik.sqlite"];
return dbPath;
}
-(void) openDB {
if (sqlite3_open([[self filePath] UTF8String], &db) == SQLITE_OK) {
const char *sqlStatement = "SELECT content, image FROM yok_artik ORDER BY RANDOM() LIMIT 1;";
sqlite3_stmt *compiledStatement;
if (sqlite3_prepare_v2(db, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) {
if (sqlite3_step(compiledStatement) == SQLITE_ROW) {
NSString *myContent = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 0)];
yaContent.text = myContent;
} else {
NSLog(@"Error (sqlite3_step): %s", sqlite3_errmsg(db));
}
} else {
NSLog(@"Error (sqlite3_prepare): %s", sqlite3_errmsg(db));
}
} else {
NSLog(@"Error (sqlite3_open): %s", sqlite3_errmsg(db));
}
}
我有错误在sqlite3_prepare_v2命令
错误消息: 错误(sqlite3_prepare):没有这样的表:yok_artik
如何解决这个问题?
顺便说一句,sqlite3_open工作正常。
你在该数据库中有一个名为'yok_artik'的表吗? – Mat
是的,我有'yok_artik'表。 –
那么,SQLite引擎不同意你。你确定你正在打开数据库吗? – Mat