我有以下方法,执行时给出错误:
11-09 12:11:17.578:E/AndroidRuntime(21018):引起:android.database.sqlite.SQLiteException:没有这样的列:happy(代码1):,同时编译:select*from Bank where english = happy
方法是:
public boolean BankHas(Word currentWord) {
openDataBase();
Cursor cursor = myDataBase.rawQuery("select * from Bank where english = " + currentWord.english, null);
return cursor.moveToFirst();
}
Run Code Online (Sandbox Code Playgroud)
我的餐桌计划:
CREATE TABLE `Bank` (
`english` TEXT
);
Run Code Online (Sandbox Code Playgroud)
你错过了单引号,所以改变
"select * from Bank where english = " + currentWord.english
Run Code Online (Sandbox Code Playgroud)
至
"select * from Bank where english ='" + currentWord.english + "'"
Run Code Online (Sandbox Code Playgroud)
或推荐的解决方案是使用参数化查询作为
Cursor cursor = myDataBase.rawQuery("select * from Bank where english =? ", new String [] {currentWord.english});
Run Code Online (Sandbox Code Playgroud)
并从中更改您的创建表
CREATE TABLE `Bank` (
`english` TEXT
);
Run Code Online (Sandbox Code Playgroud)
至
CREATE TABLE Bank (
english TEXT
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2791 次 |
| 最近记录: |