更新クエリは、他のクラスでは更新クエリは、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];
しかし、データベースが更新されません。
エラーメッセージは何ですか?あなたはすでに 'id == 1'という行をそのテーブルに持っていますか? – Mat
はい行id = 1がありますが、エラーメッセージは表示されず、DataBasaは更新されません。 – Ahmad
デバイスに保存されているデータベースファイルはどこですか? – marcus