【发布时间】:2026-02-13 01:30:02
【问题描述】:
我想要做的是在我的 SQL 数据库中存储一个 ArrayList,并且我已经使用此代码来执行此操作:
try {
SQLiteDatabase database = this.openOrCreateDatabase("arrayList", MODE_PRIVATE, null);
Gson gson = new Gson();
String inputString = gson.toJson(itemOne);
Log.i("InputString", inputString);
database.execSQL("CREATE TABLE IF NOT EXISTS savedTasks(item VARCHAR)");
ContentValues cv = new ContentValues();
cv.put("item", inputString);
database.insert("savedTasks", null, cv);
Cursor resultSet = database.rawQuery("Select * from savedTasks", null);
resultSet.moveToFirst();
String getData;
if(resultSet.moveToNext()) {
getData = resultSet.getString(0);
Type type = new TypeToken<String>() {}.getType();
arrayLists.add(gson.fromJson(getData, type));
adapter.notifyDataSetChanged();
}
Log.i("ArrayLists", String.valueOf(arrayLists));
} catch (Exception e) {
e.printStackTrace();
}
我一直收到错误,E/SQLiteLog: (1) no such column: inputString.
注释代码来自这篇文章的答案。无论有没有它,我都会遇到同样的错误。谷歌搜索没有产生任何可用的答案或示例。我在 Android Studio (java) 中写这个。
【问题讨论】:
-
这能回答你的问题吗? Android SQLite rawquery parameters
-
@Dai 不,我需要一种将字符串变量添加到数据库的方法,而不是找到它。除非我误解了那篇文章的内容?
标签: java android sqlite android-sqlite