Android 如何从数据库中只获取两个字段的数据?

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

我有这样的代码,它显示使用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,
    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非常便宜