【问题标题】:SQLiteException: no such column: (code 1)SQLiteException:没有这样的列:(代码 1)
【发布时间】:2014-11-09 20:27:02
【问题描述】:

我有以下方法,执行时会报错:

11-09 12:11:17.578:E/AndroidRuntime(21018):由以下原因引起: android.database.sqlite.SQLiteException:没有这样的列:快乐(代码 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();
    }

我的餐桌方案:

CREATE TABLE `Bank` (
    `english`   TEXT
);

【问题讨论】:

    标签: android sqlite


    【解决方案1】:

    你错过了单引号,所以改变

    "select * from Bank where english = " + currentWord.english
    

    "select * from Bank where english ='" + currentWord.english + "'"
    

    或者推荐的解决方案是使用参数化查询作为

    Cursor cursor = myDataBase.rawQuery("select * from Bank where english =? ", new String [] {currentWord.english});
    

    并从

    更改您的创建表
    CREATE TABLE `Bank` (
        `english`   TEXT
    );
    

    CREATE TABLE Bank (
        english TEXT
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多