我需要更新列,我能够正确添加,但我无法更新。
这是我的更新代码。
public void setStatus(boolean status,int id,Context c){
InitilizeSqlite(c);
SQLiteDatabase db=userHelper.getReadableDatabase();
Cursor cursor = db.query(ReminderDetails.ReminderItem.Table_Name,new String[]{
ReminderDetails.ReminderItem.Id,
ReminderDetails.ReminderItem.Date,
ReminderDetails.ReminderItem.Time,
ReminderDetails.ReminderItem.Medicine,
ReminderDetails.ReminderItem.Reminder_Status}
,ReminderDetails.ReminderItem.Id+ "=?",
new String[] {String.valueOf(id)}, null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
int getId=Integer.parseInt(cursor.getString(0));
String date=cursor.getString(1);
String time=cursor.getString(2);
String medicine=cursor.getString(3);
getstatus=Boolean.parseBoolean(cursor.getString(4));
SQLiteDatabase dbUpdate=userHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(ReminderDetails.ReminderItem.Id,getId);
values.put(ReminderDetails.ReminderItem.Date,date);
values.put(ReminderDetails.ReminderItem.Time,time);
values.put(ReminderDetails.ReminderItem.Medicine,medicine);
values.put(ReminderDetails.ReminderItem.Reminder_Status,status);
dbUpdate.update(ReminderDetails.ReminderItem.Table_Name,values,ReminderDetails.ReminderItem.Id+ "=?",new String[]{String.valueOf(id)});
}
//这是我的专栏详情
public class ReminderDetails {
public static abstract class ReminderItem{
public static final String Id="item_id";
public static final String Time="time";
public static final String Date="date";
public static final String Medicine="medicine";
public static final String Table_Name="reminder_details";
public static final String Reminder_Status="reminder_status";
}
}
任何人都可以帮我解决为什么无法更新提醒状态的问题吗?
答案 0 :(得分:0)
我发现解决方案实际上是values.put(ReminderDetails.ReminderItem.Reminder_Status,status)这里我在boolean中传递状态但在我的表中我保存了字符串所以我只需要更改为values.put(ReminderDetails.ReminderItem.Reminder_Status,“真的“)然后它的工作正常。谢谢所有为这个问题留出时间的人。