我有一個SQL數據庫,可以在UITableView上顯示。但是如果嘗試添加任何對象,它不會在UITableView中更新。只有在應用程序重新啓動後纔會更新。 當我從UITableView刪除對象有內置的方法,刪除 是if (editingStyle == UITableViewCellEditingStyleDelete)
有沒有這樣的方法 也添加對象呢?使用SQlite數據庫添加的對象在UITableView中未更新
我的另外方法如下:
static sqlite3 *addStmt = nil;
- (void) add_Place:(Place *)PlaceObj {
NSLog(@"Super add called");
//Add it to the database.
[PlaceObj addPlace];
//Add it to the coffee array.
[PlacesArray addObject:PlaceObj];
}
- (void) addPlace {
NSLog(@"addplace called");
if(addStmt == nil)
{
NSLog(@"inside addstmt");
const char *sql = "INSERT INTO places_table (PlaceName, PlaceAddress) Values (?,?)";
if(sqlite3_prepare_v2(database, sql, -1, &addStmt, NULL) != SQLITE_OK)
{
NSLog(@"error inside if loop");
NSAssert1(0, @"Error while creating add statement. '%s'", sqlite3_errmsg(database));
}
}
NSLog(@"outside if Loop") ;
sqlite3_bind_text(addStmt, 1, [PlaceName UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_text(addStmt, 2, [PlaceAddress UTF8String], -1, SQLITE_TRANSIENT);
if(SQLITE_DONE != sqlite3_step(addStmt))
{
NSAssert1(0, @"Error while inserting data. '%s'", sqlite3_errmsg(database));;
}
// NSAssert1(0, @"Error while inserting data. '%s'", sqlite3_errmsg(database));
else
{
//SQLite provides a method to get the last primary key inserted by using sqlite3_last_insert_rowid
PlaceID = sqlite3_last_insert_rowid(database);
NSLog(@"sqlite3_last_insert_rowid") ;
}
//Reset the add statement.
sqlite3_reset(addStmt);
}
你打電話給reloaddata? – James