Я пытаюсь удалить строки из call_history.db. Я могу прочитать в БД, я нахожу строки, которые я должен отменить, но когда я иду, чтобы запустить запрос на УДАЛЕНИЕ, он ничего не делает, и я удаляю значения, но если я пытаюсь подключиться к БД через SSH с тот же запрос работает нормально.
Я указываю, что я работаю с взломанным iPhone, и что мое приложение находится в папке / Applications, а затем не в песочнице.
вот код, который я использую
strPhone - строка телефонного номера
data * provaData1 = [[data alloc] init];
NSString * queryPhone = [[NSString alloc] initWithFormat:@"DELETE FROM call WHERE address LIKE '%%%@%%'", strPhone];
[provaData1 eliminaValoriDaDB:@"" :queryPhone withPath:@"var/wireless/Library/CallHistory/call_history.db"];
реализация "данных" это
- (void)eliminaValoriDaDB:(NSString *)number :(NSString *)sqlString withPath:(NSString *)dbPath {
//NSString *dbPath=@"/User/Library/SMS/sms.db";
if (sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK)
{
if(delStmt == nil)
{
const char *sql = [sqlString UTF8String];
//const char *sql = [sqlDel UTF8String];
if(sqlite3_prepare_v2(database, sql, -1, &delStmt, NULL) != SQLITE_OK)
NSAssert1(0, @"Error while creating del statement. '%s'", sqlite3_errmsg(database));
}
if (![number isEqualToString:@""])
{
sqlite3_bind_int(delStmt, 1, [number intValue]);
}
if (SQLITE_DONE!= sqlite3_step(delStmt)) {
NSAssert1(0, @"Error while deleting. '%s'", sqlite3_errmsg(database));
}
sqlite3_reset(delStmt);
delStmt = nil;
}
else
NSLog(@"error db not open");
sqlite3_close(database);}
Пожалуйста, помогите мне .... Я не знаю, что делать
Спасибо Андреа