在my where子句中使用UUID时,Android游标不返回任何内容

在my where子句中使用UUID时,Android游标不返回任何内容,android,sql,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(DATAB

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

让我知道,如果有任何其他信息,你想让我张贴

是否更正开放数据库的读写操作?异常不存在吗

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

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

可能该字符串不在列
KEY\u GROUPID

中,请记录您传入的组并查看其值。Hoan我检查了该字符串,结果很好。如果表中的列是uniqueidentifier,而我传入的组参数是字符串,您认为这会有问题吗?您的意思是KEY_GROUPID是整数?为什么不使用第一个查询硬编码组。如果可以的话,那就和小组传球有关。我不知道你们是如何获得团体的,所以很难说。发布获取group.Hoan的代码。KEY_GROUPID是字符串,数据库中的GROUPID列是唯一标识符。另外,为了回答你的第二个问题,我之前已经将其硬编码到我的查询中,没有运气。我向您保证,在用于查询之前,group的值是一个有效的36个字符的Guid。我今晚一到家就会发布更多的代码。谢谢。在执行查询之前,我正在打开数据库。没有例外。我在组字符串上做了一个日志,在查询之前它是正确的。我三次检查了KEY_GROUPID字符串是否与列名相同。您还能想到其他什么吗?如果您的查询是在数据库上执行的,请尝试查看光标c.count()中的内容。在这种情况下,可能您的字符串中有一些字符不是0-9或A-Z。可能您使用了数据库编码。Juraj,我今晚回家后会尝试一下,并随时向您通报。谢谢你的回复。