Android 带有两个参数的where子句的查询

Android 带有两个参数的where子句的查询,android,Android,我想写一个如下的查询,但是出现了异常 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_

我想写一个如下的查询,但是出现了异常

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相关的两个参数。我还没有发现任何有用的东西。提前谢谢

如果您的代码按字面意思编写,则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);

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

检查,努力搜索好友

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

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

希望这有帮助。

07-11 17:00:45.338:E/AndroidRuntime(717):android.database.sqlite.SQLiteException:near“'uid'”:语法错误:,编译时:选择“id,title,body,location,goaldate,absolutedate,currentdate,prio,done,category,timespunt,pososto,父亲来自父亲喜欢'fid'和'uid'的任务”