Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android.database.sqlite.SQLiteException:没有这样的列ShopName_Android_Sqlite - Fatal编程技术网

android.database.sqlite.SQLiteException:没有这样的列ShopName

android.database.sqlite.SQLiteException:没有这样的列ShopName,android,sqlite,Android,Sqlite,我试图从名为LocationCode的列中获取值,以定义是否显示店铺名称。但是,有一个错误说没有这样的栏目。拼写没有错误 这是代码: public List<String> getQuotes() { List<String> list = new ArrayList<>(); Cursor cursor = database.rawQuery("SELECT ShopName,LocationCode FROM WhereToEat WHER

我试图从名为LocationCode的列中获取值,以定义是否显示店铺名称。但是,有一个错误说没有这样的栏目。拼写没有错误

这是代码:

public List<String> getQuotes() {
    List<String> list = new ArrayList<>();
    Cursor cursor = database.rawQuery("SELECT ShopName,LocationCode FROM WhereToEat WHERE LocationCode = 'WhiteFarm' ", null);
    cursor.moveToFirst();
    while (!cursor.isAfterLast()) {
        list.add(cursor.getString(0));
        cursor.moveToNext();
    }
    cursor.close();
    return list;
}

我相信这个专栏是存在的。

试试这个。可能您需要在单引号(‘WhiteFarm’)之间包含“WhiteFarm”。可以通过以下方式实现:

    Cursor cursor = database.rawQuery("SELECT ShopName,LocationCode FROM WhereToEat WHERE LocationCode = " + "'" + WhiteFarm + "'", null);
我同意Harshad的观点,只有在列类型为int时才应该使用+WhiteFarm+


您可以找到一些与您正在执行的操作类似的示例查询

请记录错误日志。copy paste exact error Statement
shopName
是您最近添加的列吗?数据库是静态的,shopName在开头就存在
没有这样的列:shopName(代码1):
说您的表没有列
shopName
…可能表“Where-ToEat”不包含“shopName”column.当我使用SELECT*时,它从何处工作,但当我使用SELECT ShopName时,它从何处崩溃,为什么?我明白你的意思。它可以有一个解释:那就是你用单引号把列名括起来,即“'”+列名+“”。因此,在您的示例中,选择ToEat应该使用的“ShopName”。
CREATE TABLE "WhereToEat" (
`ShopName`  TEXT,
`Location`  TEXT,
`LocationCode`  TEXT,
`Photo` BLOB);
    Cursor cursor = database.rawQuery("SELECT ShopName,LocationCode FROM WhereToEat WHERE LocationCode = " + "'" + WhiteFarm + "'", null);