Android Sqllite根本不更新列

时间:2017-03-27 08:44:37

标签: android sqlite android-sqlite

我需要更新列,我能够正确添加,但我无法更新。

这是我的更新代码。

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";
    }
}

任何人都可以帮我解决为什么无法更新提醒状态的问题吗?

1 个答案:

答案 0 :(得分:0)

我发现解决方案实际上是values.put(ReminderDetails.ReminderItem.Reminder_Status,status)这里我在boolean中传递状态但在我的表中我保存了字符串所以我只需要更改为values.put(ReminderDetails.ReminderItem.Reminder_Status,“真的“)然后它的工作正常。谢谢所有为这个问题留出时间的人。