我有一個SQLite數據庫,我可以用SQLite瀏覽器打開它,執行對它的查詢等。但是我無法從我的Xcode項目中獲取任何數據。iOS,SQLite:無法從數據庫中讀取
NSString *databaseName = @"dbFile.db";
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentPaths objectAtIndex:0];
NSString *databasePath = [documentsDir stringByAppendingPathComponent:databaseName];
sqlite3 *database;
if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK) {
NSLog(@"db is ok"); // works just fine
const char *sqlStatement = "SELECT table.column FROM table";
sqlite3_stmt *compiledStatement;
if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) {
NSLog(@"OK"); // nothing happens
}
sqlite3_close(database);
}
從SQLite瀏覽器爲Mac執行非常相同的查詢工作得很好。
你應該檢查並記錄sqlite報告的錯誤 - 他們可能會告訴你什麼是錯的。 – Mat
@ufw:這工作? 'select table from table',也就是說,沒有列名前綴的表名? – Tim
在這兩種方式中,SQLite日誌都表示找不到合適的表。但是,正如我之前所說,我可以通過獨立的SQLite瀏覽器獲取數據。 – ufw