如何在sqlite中检索结果

时间:2017-04-23 15:54:21

标签: android sqlite android-sqlite where-clause

我对数据库和新手非常陌生。试图根据地区提取价值。我的表已经有region(draft_region_name)列。以下是我的代码

android.database.sqlite.SQLiteException: no such column: AHMEDABAD (code 1): , while compiling: SELECT * FROM DraftTable WHERE draft_region_name = AHMEDABAD

我得到了这个期待

type LFun v w = v -> w

initial :: VectorSpace w => LFun () w
initial () = zeroV

(+++) :: VectorSpace w => LFun u w -> LFun v w -> LFun (u,v) w
(f+++g) (u,v) = f u ^+^ g v

2 个答案:

答案 0 :(得分:1)

你可能已经忘记了'对于sqlites字符串试试这个你的sqlite应该以';'结尾不应该吗?:

for (int i = 0; i < names.size(); i++) {
    where = where + KEY_DRAFT_REGION_NAME + " = '" + names.get(i).toString() + "'";
    if (i != (names.size() - 1))
        where = where + " or ";
}
where = where + ";"

答案 1 :(得分:1)

该行

where = where + KEY_DRAFT_REGION_NAME + " = " + names.get(i).toString() + "";

编译,正如本声明中所说的那样:

SELECT * FROM DraftTable WHERE draft_region_name = AHMEDABAD

这是错误的,如果要检查字符串,则必须将搜索关键字设置为引号。所以这将是正确的查询:

SELECT * FROM DraftTable WHERE draft_region_name = 'AHMEDABAD'

要解决这个问题,只需将代码部分包装到汇编where子句的代码中,如下所示:

where = where + KEY_DRAFT_REGION_NAME + " = '" + names.get(i).toString() + "'";