【发布时间】:2017-07-24 09:05:17
【问题描述】:
我目前正在我的 Android 应用程序中使用 sqlite 进行验证和实施。目的是使搜索关键字历史。所以在这种情况下,我希望当用户输入相同的关键字但在不同的时间时,我想通过更新sqlite数据库中的“时间”列来推动该关键字成为最新的关键字。
代码如下:
ContentValues values = new ContentValues();
values.put(KEY_TIME, time);
sqLiteDatabase.update(TABLE_NAME_SEARCH, values, KEY_KEYWORD + " = " + keyword, null);
但它返回错误:
FATAL EXCEPTION: main
Process: com.lakupon, PID: 24030
android.database.sqlite.SQLiteException: no such column: a (code 1): , while compiling: UPDATE search SET time=? WHERE keyword = a
注意:在这种情况下,“a”是我输入两次的关键字,因此它试图更新“关键字”值为“a”的行中的“时间”。
我不知道为什么它说没有这样的列,因为当我打印出数据列表时,有一行“关键字”值等于“a”,或者为了更简单,如果有没有这样的关键字,那么代码根本不应该运行,因为我在外面放了一些验证。
我也不知道为什么它说“时间=?”因为当我打印出“时间”参数时,它具有我想要的时间值,例如“20170724_154935”。
【问题讨论】:
标签: android sqlite sql-update android-sqlite