1

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

让我知道您是否希望我发布任何其他信息。

4

1 回答 1

0

您正确打开数据库以进行读取或写入?异常不存在?

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

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

也许这个字符串不在列中KEY_GROUPID

于 2013-05-05T22:16:55.167 回答