在我的where子句中使用UUID时,Android Cursor不返回任何内容

时间:2013-05-05 21:36:01

标签: android sql

我正在尝试从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);

如果您希望我发布任何其他信息,请与我们联系。

1 个答案:

答案 0 :(得分:0)

您是否正确打开数据库进行读取或写入?例外不存在?

如果没有异常,您可以在执行查询之前尝试编写组字符串。

Log.d("String from where", group);

这个字符串可能不在KEY_GROUPID列中吗?