2012-07-11 28 views
0

我想寫一個類似於下面的查詢,但異常出現。查詢與兩個參數的where子句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_FATHER + " LIKE" + "'"+ "fid"+"'"+ "AND"+ KEY_ROWID + "LIKE" + "'"+ "uid"+"'", null, null, null, null); 

人誰知道where子句的與連接兩個參數的正確語法和,Or.i還沒有發現任何東西還你useful.thank提前!

回答

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); 

我不知道,如果你可能有一些其他的問題,因爲你不提供錯誤您「如果你還沒有看到它,那麼至少應該清除一個問題。

+0

這裏是我收到的錯誤 – user1347280 2012-07-11 17:01:47

+0

07-11 17:00:45.338:E/AndroidRuntime(717):android.database.sqlite.SQLiteException:near「'uid'」:語法錯誤:,編譯時:SELECT _id,title,body,location,goaldate,absolutedate,currentdate,prio,done,category,timespent,pososto,father FROM tasks WHERE father LIKE'fid'AND _idLIKE'uid' – user1347280 2012-07-11 17:01:54

+0

非常感謝空間是問題! – user1347280 2012-07-11 17:26:30

0

戈登已經給你正確的答案。您的錯誤代碼仍然缺少空格。另外,如果FID和UID是變量,那麼你需要刪除它周圍的引號,並使用類似的東西:

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

希望這會有所幫助。