[英]SQL Android Query formulation with multiple conditions
我正在編寫一個 android 應用程序,它試圖根據兩個獨立的標准從數據庫中提取數據。
鍛煉和鍛煉字段都是數據庫中的字符串。 我想返回一個 cursor 只包含滿足兩個條件的行。 哦,我還希望它按日期順序排序......
public Cursor graphQuery(String exercise, String workout) {
Cursor cursor = mDb.query(DATABASE_TABLE, new String [] {KEY_DATE, KEY_REPS,
KEY_REPS_FEEL, KEY_WEIGHT, KEY_WEIGHT_FEEL}, "KEY_WORKOUT=" + workout + "AND" +
"KEY_EXERCISE=" + exercise, null , null, null, KEY_DATE);
return cursor;
}
我是一個新的 android 編碼器,希望能得到幫助!
使用selection
和selectionArgs
:
public Cursor graphQuery(String exercise, String workout) {
Cursor cursor = mDb.query(DATABASE_TABLE, new String [] {KEY_DATE, KEY_REPS,
KEY_REPS_FEEL, KEY_WEIGHT, KEY_WEIGHT_FEEL}, "KEY_WORKOUT = ? AND KEY_EXERCISE = ?",
new String[] { workout, exercise },
null,
null,
KEY_DATE);
return cursor;
}
注意selection
String
有?
s 代替實際值,並且實際值作為String[]
和selectionArgs
參數傳入。 SQLite 將取代那些?
s 與來自String[]
selectionArgs
的值。
簡短回答:“AND”->“AND”周圍缺少空格。:
長答案:請使用參數標記 - 您將立即看到缺少的空格:
Cursor cursor = mDb.query(DATABASE_TABLE, new String [] { KEY_DATE, KEY_REPS,
KEY_REPS_FEEL, KEY_WEIGHT, KEY_WEIGHT_FEEL }, "KEY_WORKOUT=? and KEY_EXERCISE=?", new String[] { workout, exercise }, null, null, KEY_DATE);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.