我有一個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