我在Android中使用SQLite时遇到问题。
我使类扩展了SQLiteOpenHelper,并且我想使用两个参数来查询表列中的值。
这是SQLiteOpenHelper类内部的名为getDatabase_Monday()
的函数
public String getDatabase_Monday(){
sqLiteDatabase = this.getReadableDatabase();
String[] columns = new String[]{COLUMN_TITLE,COLUMN_SUBTITLE,
COLUMN_MON,COLUMN_TUE, COLUMN_WED,COLUMN_THUS, COLUMN_FRI,COLUMN_SAT,COLUMN_SUN,
COLUMN_START_TIME,COLUMN_END_TIME};
@SuppressLint("Recycle")
Cursor cursor = sqLiteDatabase.query(TABLE_TIMETABLE,columns,COLUMN_MON+"="+1,null,null,null,null);
int iTitle = cursor.getColumnIndex(COLUMN_TITLE);
int iSubtitle = cursor.getColumnIndex(COLUMN_SUBTITLE);
int iStarttime = cursor.getColumnIndex(COLUMN_START_TIME);
int iEndtime = cursor.getColumnIndex(COLUMN_END_TIME);
String result = "";
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()){
result = result +
"Title: " + cursor.getString(iTitle) + "\n" +
"SubTitle: " + cursor.getString(iSubtitle) + "\n" +
"Start Time: " + cursor.getString(iStarttime) + "\n" +
"End Time: " + cursor.getString(iEndtime) + "\n\n";
}
sqLiteDatabase.close();
return result;
}
用于查询,我将方法设为
Cursor cursor = sqLiteDatabase.query(TABLE_TIMETABLE,columns,COLUMN_MON+"="+1,null,null,null,null);
现在我想在选择字段中输入2个参数,像这样
Cursor cursor = sqLiteDatabase.query(TABLE_TIMETABLE,columns,COLUMN_MON+"="+1
&& COLUMN_START_TIME +“ =” + 9,null,null,null,null);
但是,如果我编写了这样的代码,则会出现&& cannot be applied
错误。是否有任何方法可以通过2个选择参数进行查询?
如果您有任何建议,我想听听。
非常感谢。
&&
是Java逻辑AND
运算符。对于SQL,您必须使用运算符AND
:
COLUMN_MON + "=" + 1 + " AND " + COLUMN_START_TIME + "=" + 9