0
非常困惑,這...我的「DiscoveredCars」表開始有兩個記錄。我第一次調用這個方法時,它插入正確,最後一行顯示記錄數「3」。我的SQLITE3插入方法有什麼問題?
然而,我第二次調用它時,SQL看起來很完美,但由於某些原因,它仍然顯示「3」大小,似乎沒有正確插入?有任何想法嗎?
- (void)writeToDiscoveredCars: (Car *)car {
NSString *tempSQL = [NSString stringWithFormat:@"INSERT INTO DiscoveredCars (car_ID) VALUES (%i)", car.ID];
NSLog(@"size of discoveredis %i", [self numberRecordsForTable:@"DiscoveredRecipes"]);
NSLog(@"SQL insert is %@", tempSQL);
const char *sql = [tempSQL UTF8String];
sqlite3_stmt *statement;
int sqlResult = sqlite3_prepare_v2(myDatabase, sql, -1, &statement, NULL);
if (sqlResult == SQLITE_OK) {
sqlResult = sqlite3_step(statement);
if(sqlResult == SQLITE_DONE)
{
}
sqlite3_finalize(statement);
}
else
{
NSLog(@"1. problem with database");
NSLog(@"%s", sqlite3_errmsg(myDatabase));
}
NSLog(@"size of discoveredis %i", [self numberRecordsForTable:@"DiscoveredCars"]);
}
哎呀!你是對的......我在那裏,然後在嘗試排除故障時偶然將它編輯出來。我更新了我的帖子中的代碼。但是,我仍然遇到我描述的問題。我知道在方法的開始和結束時檢查DiscoveredCars的大小。開始時它說2,結束它說3。然後,當我第二次打電話時,它又說2和3了?數據庫每次都得到重新創建嗎? – sayguh
再次嗚呼......我找到了我重新初始化它的地方。謝謝喬 – sayguh