Something crazy is happening with me or I am stupidly doing something wrong. I am deleting a record from Sqlite table which ends up with success. But when I again launch the app and get all, the record is still there !!
In ViewController :
[tableMessage beginUpdates];
[[CommonModel shared]DeleteMessage:message.MessageId];
[arrMessages removeObjectAtIndex:indexPath.row];
[tableMessage deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:UITableViewRowAnimationNone];
[tableMessage endUpdates];
Sqlite deletion functions :
- (void)DeleteMessage:(NSString*)messageId{
sqlite3_stmt *statement = nil;
@try {
@synchronized(self)
{
const char *sql = "Delete from Message where MessageId = ?";
sqlite3_bind_text(statement, 1, [messageId UTF8String], -1, SQLITE_TRANSIENT);
if (sqlite3_prepare_v2(database, sql, -1, &statement, NULL) == SQLITE_OK) {
}
else
{
NSLog(@"Error while preparing for Message Delete");
}
if(sqlite3_step(statement) == SQLITE_DONE)
{
// Record always gets successfully deleted
NSLog(@"Success on Message Deletion");
[self DeleteMessageUsers:messageId];
}
else
{
NSLog(@"Error while Deleting Message");
}
}
}
@catch (NSException *exception) {
NSLog(@"Error in DeleteMessages : %@", exception.description);
}
@finally {
sqlite3_finalize(statement);
}
}
- (void)DeleteMessageUsers:(NSString*)messageId{
sqlite3_stmt *statement = nil;
@try {
@synchronized(self)
{
const char *sql = "Delete from MessageUser where MessageId = ?";
sqlite3_bind_text(statement, 1, [messageId UTF8String], -1, SQLITE_TRANSIENT);
if (sqlite3_prepare_v2(database, sql, -1, &statement, NULL) == SQLITE_OK) {
}
else
{
NSLog(@"Error while Deleting MessageUser");
}
if(sqlite3_step(statement) == SQLITE_DONE)
{
// Record always gets successfully deleted
NSLog(@"Success on MessageUser Deletion");
}
else
{
NSLog(@"Error while Deleting MessageUser");
}
}
}
@catch (NSException *exception) {
NSLog(@"Error in DeleteMessageUser : %@", exception.description);
}
@finally {
sqlite3_finalize(statement);
}
}
Aucun commentaire:
Enregistrer un commentaire