Android 如何从数据库中只获取两个字段的数据?
我有这样的代码,它显示使用KEY_代码得到的每个记录。但是我想显示只有我插入的KEY_代码和KEY_名称的记录。我需要做什么Android 如何从数据库中只获取两个字段的数据?,android,sqlite,Android,Sqlite,我有这样的代码,它显示使用KEY_代码得到的每个记录。但是我想显示只有我插入的KEY_代码和KEY_名称的记录。我需要做什么 else { mCursor = mDb.query(true, SQLITE_TABLE, new String[] {KEY_ROWID, KEY_CODE, KEY_NAME, KEY_CONTINENT, KEY_REGION}, KEY_CODE + " like '%" + inputText + "%'", null, nu
else {
mCursor = mDb.query(true, SQLITE_TABLE, new String[] {KEY_ROWID,
KEY_CODE, KEY_NAME, KEY_CONTINENT, KEY_REGION},
KEY_CODE + " like '%" + inputText + "%'", null,
null, null, null, null);
}
试试这个:
else {
mCursor = mDb.query(true, SQLITE_TABLE, new String[] {KEY_ROWID,
KEY_CODE, KEY_NAME, KEY_CONTINENT, KEY_REGION},
KEY_CODE + " like '%" + inputText + "%' AND " + KEY_NAME + " like '%" + inputName + "%'", null,
null, null, null, null);
}
如果您希望代码和名称完全匹配,请不要使用LIKE use=
else {
mCursor = mDb.query(true, SQLITE_TABLE, new String[] {KEY_ROWID,
KEY_CODE, KEY_NAME, KEY_CONTINENT, KEY_REGION},
KEY_CODE + " = '" + inputText + "' AND " + KEY_NAME + " = '" + inputName +"'", null,
null, null, null, null);
}
试试这个
else {
mCursor = mDb.query(true, SQLITE_TABLE, new String[] {KEY_ROWID,
KEY_CODE, KEY_NAME, KEY_CONTINENT, KEY_REGION},
KEY_CODE + " like '%" + inputTextForKEY_CODE + "%' AND" + KEY_NAME + " like '%" + inputTextForKEY_NAME + "%'" , null,
null, null, null, null);
}
在SQL中,可以使用AND或or构建逻辑表达式 如果必须输入要与相应字段匹配的输入(即两者必须匹配),则应使用和:
mCursor = mDb.query(true, SQLITE_TABLE,
new String[] { KEY_ROWID, KEY_CODE, KEY_NAME, KEY_CONTINENT, KEY_REGION },
KEY_CODE + " LIKE ? AND " + KEY_NAME + " LIKE ?",
new String[] { "%"+inputText+"%", "%"+inputName+"%" },
null, null, null, null);
如果有一个输入可以在任一字段中匹配,则应使用或:
mCursor = mDb.query(true, SQLITE_TABLE,
new String[] { KEY_ROWID, KEY_CODE, KEY_NAME, KEY_CONTINENT, KEY_REGION },
KEY_CODE + " LIKE ? OR " + KEY_NAME + " LIKE ?",
new String[] { "%"+inputText+"%", "%"+inputText+"%", },
null, null, null, null);
请注意,您应该始终为字符串值使用参数(
?
),以避免格式问题和。我的上帝RameshLal非常便宜