Обновление запроса на sqlite3 не работает - PullRequest
0 голосов
/ 26 декабря 2011

Обновление запроса на Sqlite3 не работает

-(void)updateAlarms:(AlarmsBean *)todoItem//TodoItem: (AlarmsBean*)todoItem
{
    if (_updateAlarmsStatement == NULL)
    {
    sqlite3_prepare_v2(_database, 

    "UPDATE AlarmSetting SET Sound = ?, Sensitivity = ?, Label = ? , Repeat = ? ,
 time = ? , On_Off = ? WHERE ID = ?",
                           -1, 
                           &_updateAlarmsStatement, 
                           NULL);
    }
    sqlite3_reset(_updateAlarmsStatement);
    sqlite3_bind_text(_updateAlarmsStatement, 1,
 [todoItem.AlarmSoundName UTF8String], -1, SQLITE_TRANSIENT);
    sqlite3_bind_int(_updateAlarmsStatement, 2, todoItem.AlarmSensitivity);
    sqlite3_bind_text(_updateAlarmsStatement, 3, [todoItem.AlarmName UTF8String], -1,
 SQLITE_TRANSIENT);

    sqlite3_bind_int(_updateAlarmsStatement, 4, todoItem.AlarmRepeat);

    sqlite3_bind_text(_updateAlarmsStatement, 5, [todoItem.AlarmTime UTF8String], -1,
 SQLITE_TRANSIENT);

    sqlite3_bind_int(_updateAlarmsStatement, 6, todoItem.AlarmOnOff);
    sqlite3_bind_int(_updateAlarmsStatement, 7, todoItem.AlarmID);
    sqlite3_step(_updateAlarmsStatement);
}

В другом классе:

AlarmsBean * todoItem1 = [[AlarmsBean alloc] init];

database = [[ClassAlarmDB alloc] init];

            todoItem1.AlarmID = 1 ;
            todoItem1.AlarmSoundName = @"28.png";
            todoItem1.AlarmSensitivity = 1 ;
            todoItem1.AlarmName = @"ahmad" ;
            todoItem1.AlarmRepeat = 1;
            todoItem1.AlarmTime = @"00 : Am";
            todoItem1.AlarmOnOff = 4 ;
              NSLog (@"Befor Update");
            [database updateAlarms: todoItem1];

Но база данных не обновляется.

1 Ответ

0 голосов
/ 26 декабря 2011

Проверьте код возврата от sqlite3_step(..) и, вероятно, также sqlite3_prepare_v2(..). Если это не SQLITE_OK или SQLITE_DONE, распечатайте sqlite3_errcode(_database) и sqlite3_errmsg(_database).

Это должно дать вам некоторую информацию для продолжения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...