【发布时间】:2013-11-10 04:35:27
【问题描述】:
我有桌子(如图所示)。我想更新时间列。我有medicine_id(second column)如何更新不同的时间取决于同一个medicine_id(second column)。
另外,当我更新时间时,我的数据库中有四行应该是两行,我想用特定的medicine_id.. 删除另外两行。
我有以下更新代码:
if(mon) {
for (int i = 0; i < dosage_per_day; i++) {
mMedicineDbHelper.updateMedicines(new
MedicineTime(row_id, time_InMillies[i]));
}
}
我的数据库代码:
public void updateMedicines(MedicineTime medicineTime) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(ID, medicineTime.getId());
values.put(MEDICINEID, medicineTime.getMedicine_id());
values.put(TIME, medicineTime.getTime_in_millis());
db.update(TABLENAME, values, MEDICINEID + " = ?",
new String[]{String.valueOf(medicineTime.getMedicine_id())});
db.close();
}
它显示异常.. 任何人都可以帮助解决这个问题...
【问题讨论】:
-
你能发布这个问题的 logcat 吗?
-
@MariusM 看看我编辑的帖子...
-
嗯,logcat 非常简单,您正在更新一个作为主键且被限制为唯一的 id。您应该只更新用药时间
-
如果你的 id 列是主键,那么基本上你不需要这一行:values.put(ID, drugTime.getId());
-
@MariusM 确实有效..还有一个我想在同一个医学 ID 中插入不同的时间值我能做什么。
标签: android logic android-sqlite