Ошибка: попытка записи базы данных только для чтения в sql 3 для IPhone - PullRequest
0 голосов
/ 27 декабря 2011

Я пытаюсь обновить значения в базе данных SQL3 в приложении Iphone. Но он продолжает показывать мне эту ошибку: Ошибка: попытка записи базы данных только для чтения Любая помощь ??

Это код обновления:

  - (void)updateAlarms:(AlarmsBean *)todoItem//TodoItem: (AlarmsBean*)todoItem
  {
NSLog(@"UPDATE");
if (updateAlarmsStatement == NULL)
{
    NSLog(@"updateAlarmsStatement == NULL ");
    sqlite3_prepare_v2(database, 
                       "UPDATE T1 SET A2 = ?, A3 = ?, A4 = ? , A5 = ? , A6 = ? , A7 = ?    WHERE A1 = 1",
                       -1, 
                       &updateAlarmsStatement, 
                       NULL);
    NSLog(@"updateAlarmsStatement == NULL ");
}
if (updateAlarmsStatement == NULL)
{
    NSLog(@"AHMAD updateAlarmsStatement == NULL ");


}
NSLog(@"after if  ");
sqlite3_reset(updateAlarmsStatement);
sqlite3_bind_text(updateAlarmsStatement, 1, [todoItem.AA2 UTF8String], -1, SQLITE_TRANSIENT);
sqlite3_bind_int(updateAlarmsStatement, 2, todoItem.AA3);
sqlite3_bind_text(updateAlarmsStatement, 3, [todoItem.AA4 UTF8String], -1, SQLITE_TRANSIENT);

sqlite3_bind_int(updateAlarmsStatement, 4, todoItem.AA5);

sqlite3_bind_text(updateAlarmsStatement, 5, [todoItem.AA6 UTF8String], -1, SQLITE_TRANSIENT);

sqlite3_bind_int(updateAlarmsStatement, 6, todoItem.AA7);
sqlite3_bind_int(updateAlarmsStatement, 7, todoItem.AA1);
sqlite3_step(updateAlarmsStatement);


if(sqlite3_step(updateAlarmsStatement) != SQLITE_DONE ) {
    NSLog( @"Save Error: %s", sqlite3_errmsg(database) );
}
else {
    sqlite3_reset(updateAlarmsStatement);
    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"UIAlertView" message:@"Record update" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];
    alert = nil;

}

}

1 Ответ

2 голосов
/ 27 декабря 2011

вам нужно скопировать файл вашей базы данных в каталог документов и использовать его оттуда, прежде чем делать какие-либо попытки записи.вы не можете писать ни в один объект в ресурсах вашего приложения.

проверьте, делаете ли вы это.

...