我正在尝试从Android中的sqlLight表中选择一些行。这是我的光标代码。
Cursor c = db.query(DATABASE_TABLE_PRODUCT_TYPES, new String[] { KEY_ROWID, KEY_NAME, KEY_CODE, KEY_GROUPID }, KEY_GROUPID + "=?", new String[] { group }, null, null, null);
我也试过这样做:
Cursor c = db.query(DATABASE_TABLE_PRODUCT_TYPES, new String[] { KEY_ROWID, KEY_NAME, KEY_CODE, KEY_GROUPID }, KEY_GROUPID + "='" + group + "'", null, null, null, null);
我遇到的问题是每次运行这些查询时光标都是空的。
如果我在没有where子句的情况下运行它,它可以正常运行并返回表中的所有行。我也可以在没有问题的情况下使用另一列的where子句运行查询,例如:
Cursor c = db.query(DATABASE_TABLE_PRODUCT_TYPES, new String[] { KEY_ROWID, KEY_NAME, KEY_CODE, KEY_GROUPID }, KEY_CODE + "=?", new String[] { "TPEO128" }, null, null, null);
如果您希望我发布任何其他信息,请与我们联系。
答案 0 :(得分:0)
您是否正确打开数据库进行读取或写入?例外不存在?
如果没有异常,您可以在执行查询之前尝试编写组字符串。
Log.d("String from where", group);
这个字符串可能不在KEY_GROUPID
列中吗?