我收到的完整错误是这样的:
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
最佳答案
不要使用字符串连接以这种方式组装 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 绑定(bind)提供的参数、处理引用、转义嵌入的引号等等。
关于java - Android SQLite错误: android. database.sqlite.SQLiteException:没有这样的列:(代码1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34571548/