0

我想编写如下查询,但出现异常。

mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE,
                KEY_BODY,KEY_location  , KEY_GOAL_DATE,KEY_ABSOLUTE_DATE, KEY_DATE_CURRENT ,KEY_PRIO,KEY_DONE, KEY_CATEGORY,KEY_TIME_SPEND,KEY_POSOSTO, KEY_FATHER}, KEY_FATHER + " LIKE" + "'"+ "fid"+"'"+ "AND"+ KEY_ROWID + "LIKE" + "'"+ "uid"+"'", null, null, null, null);

任何知道 where 子句的正确语法的人,其中两个参数与 And,Or 连接。我还没有找到任何有用的东西。提前谢谢你!

4

3 回答 3

0

如果您的代码按字面意思编写,则 sql 关键字周围需要空格:

mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE,
                KEY_BODY,KEY_location  , KEY_GOAL_DATE,KEY_ABSOLUTE_DATE, KEY_DATE_CURRENT ,KEY_PRIO,KEY_DONE, KEY_CATEGORY,KEY_TIME_SPEND,KEY_POSOSTO, KEY_FATHER}, KEY_FATHER + " LIKE " + "'"+ "fid"+"'"+ " AND "+ KEY_ROWID + " LIKE " + "'"+ "uid"+"'", null, null, null, null);

我不知道您是否可能遇到其他问题,因为您没有提供您遇到的错误,但是如果您还没有看到它,那至少应该可以解决问题。

于 2012-07-11T16:58:30.813 回答
0

检查文档,努力寻找伙伴..

于 2012-07-11T17:04:22.277 回答
0

戈登给了你正确的答案。您的错误代码仍然缺少空格。此外,如果 fid 和 uid 是变量,那么您需要删除它周围的引号并使用以下内容:

    KEY_FATHER + " LIKE " + fid + " AND "+ KEY_ROWID + " LIKE " + uid

希望这可以帮助。

于 2012-07-11T17:18:14.083 回答