我如何查询多个选择arg?例如,这是我的数据库格式化方式
这是我用来搜索只有一个选项arg的代码:
public Cursor getType(String type) throws SQLException
{
Cursor mCursor =
db.query(true, DB_TABLE, new String[] {
KEY_ROWID,
KEY_ALCOHOL,
KEY_TYPE,
KEY_BRAND,
KEY_PRICE
},
KEY_TYPE + "=?",
new String[] { type },
null,
null,
null,
null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
但这仅按KEY_TYPE搜索,我如何设置它以便按KEY_TYPE,KEY_ALCOHOL和KEY_PRICE进行搜索?
答案 0 :(得分:15)
这可能对您有所帮助
public Cursor getType(String type) throws SQLException
{
Cursor mCursor =
db.query(true, DB_TABLE, new String[] {
KEY_ROWID,
KEY_ALCOHOL,
KEY_TYPE,
KEY_BRAND,
KEY_PRICE
},
KEY_TYPE + "=?" + " AND " + KEY_ALCOHOL + "=?" " AND " + KEY_PRICE + "=?",
new String[] { type,alcohol,price },
null,
null,
null,
null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
答案 1 :(得分:7)
想出来!!感谢@Rajendra为我提供了一些代码来构建!你只能在选择参数中添加字符串,所以我这样做了:
public Cursor getTest(String alcohol, String type, long price) throws SQLException
{
Cursor mCursor =
myDataBase.query(true, DB_TABLE, new String[] {
KEY_ROWID,
KEY_ALCOHOL,
KEY_TYPE,
KEY_BRAND,
KEY_PRICE
},
KEY_ALCOHOL + "=?" + " AND " + KEY_TYPE + "=?" + " AND " + KEY_PRICE + "<=" + price,
new String[] { alcohol, type},
null,
null,
null,
null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
它有效!!