我做了一個按鈕,刪除我的數組中顯示在我的tableView中的所有對象。然後它重新加載數據並且tableview是空的。但是,我怎樣才能從SQLite數據庫中刪除所有數據,而不僅僅是數組?現在數據在我重新啓動時發生。我曾經嘗試這樣做:使用SQLite刪除語法刪除所有數據?
按鈕無效:
- (void) deleteAllButton_Clicked:(id)sender {
[appDelegate removeAllBooks:nil];
[self.tableView reloadData];
}
的appdelegate無效:
-(void) removeAllBooks:(Book *)bookObj {
//Delete it from the database.
[bookObj deleteAllBooks];
//Remove it from the array.
[bookArray removeAllObjects];
}
在Book.m刪除語法
- (void) deleteAllBooks {
if(deleteStmt == nil) {
const char *sql = "WHAT DO I HAVE TO DO TO DELETE ALL THE ROWS?";
if(sqlite3_prepare_v2(database, sql, -1, &deleteStmt, NULL) != SQLITE_OK)
NSAssert1(0, @"Error while creating delete statement. '%s'", sqlite3_errmsg(database));
}
//When binding parameters, index starts from 1 and not zero.
sqlite3_bind_int(deleteStmt, 1, bookID);
if (SQLITE_DONE != sqlite3_step(deleteStmt))
NSAssert1(0, @"Error while deleting. '%s'", sqlite3_errmsg(database));
sqlite3_reset(deleteStmt);
}
我發現解決問題是什麼。當我將NSLog插入到刪除語法中時,我沒有得到任何響應。這意味着appDelegate void不會向book.m發送消息來執行刪除操作...嗯.. 如何從我的RootViewcontroller中訪問我的按鈕操作的deleteAllBooks方法? – Leif 2011-01-21 18:55:10
hvis duskjøntehva jeg mente ... – Leif 2011-01-21 18:56:43