具有多个条件的SQL Android Query公式

问题描述

| 我正在编写一个android应用程序,它试图基于两个单独的条件从数据库提取数据。 锻炼和锻炼的字段都是数据库中的字符串。我只想返回一个游标,同时满足两个条件。哦,我也希望按日期顺序对其进行排序...
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,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,KEY_DATE); 

     return cursor;
}
注意
selection
ѭ5how是
?
代替实际值,并且实际值作为
String[]
selectionArgs
参数传递。 SQLite将用
String[]
selectionArgs
中的值替换那些ѭ6。     ,        简短答案:\“ AND \”-> \“ AND \”周围缺少空格。: 长答案:请使用参数标记-您会立即看到缺失的空格:
Cursor cursor = mDb.query(DATABASE_TABLE,new String [] { KEY_DATE,KEY_WEIGHT_FEEL },\"KEY_WORKOUT=? and KEY_EXERCISE=?\",KEY_DATE);