我遇到以下代碼加載SQLite數據庫的問題。Sqlite數據庫加載失敗 - 問題與SQLite準備語句 - iPhone - xCode 4.3.1
- (NSArray *)getDatabase {
NSLog(@"Get Database Called");
NSMutableArray *retval = [[[NSMutableArray alloc] init] autorelease];
NSString *query = @"SELECT Description, UniqueID, HexCoords, NoHexCoords, NoAnnots, AnnotText, DescriptionFormatting, HexCoordsPortrait FROM MainTable";
sqlite3_stmt *statement;
if (sqlite3_prepare_v2(_database, [query UTF8String], -1, &statement, nil)
== SQLITE_OK) {
while (sqlite3_step(statement) == SQLITE_ROW) {
char *nameChars = (char *) sqlite3_column_text(statement, 0);
char *desChars = (char *) sqlite3_column_text(statement, 1);
int uniqueID = sqlite3_column_int(statement, 2);
從使用斷點,我可以看到的問題是與if語句和代碼永遠不會越過這個if語句。任何人都可以發現什麼可能是錯的?代碼在幾個月前工作,我最近升級到xCode 4.3,所以這可能是問題嗎?
提前致謝。
唯一的原因,我可以看到這樣的表現是,如果_database沒有正確設置。也許打電話來打開數據庫?另外,最後一個參數應該是'NULL',而不是'nil',因爲參數不是指向對象的指針。目前都編譯爲0,所以不應該導致問題,但我不知道他們會保持相同的任何保證。 – 2012-03-27 10:36:34