我正在为RC Cars编写Android应用程序。它使用SQLite数据库,并保存汽车模型,汽车名称和其他变量。
这是我的代码:
public Cursor fetchAllNotes() {
return mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE,
KEY_CARNAME, KEY_TRACKNAME, KEY_TRACKSIZE, KEY_TRACKTRACTION, KEY_TRACKSURFACE, KEY_BODYTYPE,
KEY_COMMENTS}, KEY_CARNAME + "=" + "'MTX-4'", null, null, null, null);
}
如何仅显示carname列中指定的特定型号汽车的记录?到目前为止,我只能使用'MTX-4'
或其他一些文字字符串来过滤结果。我需要能够用String carName
之类的字符串变量替换它,所以我可以用用户定义的carname进行过滤。
答案 0 :(得分:8)
将“MTX-4”替换为“?”作为参数变量。然后将selectionArgs参数(在您的示例中为null)替换为参数列表,例如new String [] {“MTX-4”}或new String [] {carName}
以下代码段与您的代码相同。
return mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE,
KEY_CARNAME, KEY_TRACKNAME, KEY_TRACKSIZE, KEY_TRACKTRACTION, KEY_TRACKSURFACE, KEY_BODYTYPE, KEY_COMMENTS}, KEY_CARNAME + "=" + "?", new String[]{"MTX-4"}, null, null, null);