我做了一个按钮,删除我的数组中显示在我的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