Android SQLite Error: android.database.sqlite.SQLiteException: no such column: (code 1)

Android SQLite Error: android.database.sqlite.SQLiteException: no such column: (code 1)

我得到的完整错误是这样的:

 java.lang.RuntimeException: Unable to start activity ComponentInfo{}: android.database.sqlite.SQLiteException: no such column: Cowboy Bebop(code 1): , while compiling: SELECT * FROM anime WHERE title = Cowboy Bebop

我也明白了:

Caused by: android.database.sqlite.SQLiteException: no such column: Cowboy Bebop(code 1): , while compiling: SELECT * FROM anime WHERE title = Cowboy Bebop

不要以这种方式对 assemble SQL 查询使用字符串连接。您没有正确引用您的价值,更不用说处理价值本身的任何引号了。

替换如下查询:

String query = "SELECT * FROM " + TABLE_SCORES + " WHERE " + KEY_TITLE + " = " + title;
Log.e(DatabaseHelper.class.getName(), query);
Cursor c = db.rawQuery(query,null); //GETTING ERROR HERE

与:

String query = "SELECT * FROM " + TABLE_SCORES + " WHERE " + KEY_TITLE + " = ?";
Log.e(DatabaseHelper.class.getName(), query);
Cursor c = db.rawQuery(query, new String[] { title });

? 告诉 SQLite 绑定提供的参数、处理引用、转义嵌入引号等。