2013-10-26 11 views
0

У меня есть такой код, который отображает каждую запись, полученную с помощью KEY_CODE. Но я хочу отображать записи, имеющие только KEY_CODE и KEY_NAME, которые я вставил. Что мне нужно сделать?Как получить только два поля данных из базы данных?

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); 
} 
+0

My God RameshLal Так дешево – Trikaldarshi

ответ

0

Попробуйте это:

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); 
} 

Если вы хотите точное совпадение кодов и имен использования не любят использование =

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); 
} 
0

попробовать это один

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); 
} 
0

В SQL вы можете создавать логические выражения с помощью AND или OR.

Если у вас есть входы, которые вы хотите, чтобы соответствовать соответствующим полям (т.е. и должны соответствовать), вы должны использовать AND:

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); 

Пожалуйста, обратите внимание, что вы всегда должны использовать параметры (?) для строковых значений, чтобы избежать проблем форматирования и SQL injection attacks.

Смежные вопросы