我对数据库和新手非常陌生。试图根据地区提取价值。我的表已经有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
答案 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() + "'";