Как искать NULL в запросе к базе данных Android и в операторе OR в выборе
пара запросов относительно запроса к базе данных:
Итак, у меня есть следующий запрос к базе данных, который имеет оператор WHERE, который включает три строковые переменные (rackingSystem, factory, "Янтарный риск ").
public Cursor fetchComponentsAndSpecForManufacturer(long inspectionId, String rackingSystem, String manufacturer) {
Cursor mCursor =
rmDb.query(true, DAMAGED_COMPONENTS_TABLE, new String[] {
DAMAGED_COMPONENT_ID,
LOCATION_LINK,
RUN_LINK,
AREA_LINK,
INSPECTION_LINK,
LOCATION_REF,
RACKING_SYSTEM,
COMPONENT,
COMPONENT_TYPE,
QUANTITY,
POSITION,
RISK,
ACTION_REQUIRED,
NOTES_GENERAL,
MANUFACTURER,
TEXT1,
TEXT2,
TEXT3,
TEXT4,
NOTES_SPEC,
SPEC_SAVED},
INSPECTION_LINK + " = " + inspectionId + " AND " + RACKING_SYSTEM + " = ? AND " + MANUFACTURER + " = ? AND " + RISK + " = ? ",
new String[] {rackingSystem, manufacturer, "Amber Risk"},
COMPONENT_TYPE + ", " + TEXT1 + ", " + TEXT2 + ", " + TEXT3 + ", " + TEXT4 + ", " + NOTES_SPEC,
null, null, null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
Вопрос 1:
Как мне искать NULL, поскольку в приведенном выше примере производитель может иметь значение NULL в базе данных (поскольку пользователь, возможно, еще ничего не ввел в базу данных для этого бита).
Вопрос 2:
Могу ли я включить оператор OR в оператор WHERE? Так что на данный момент я ищу все записи, которые "Янтарный риск ", но мне нужно также включить в этот список записи, которые "Красный Риск ", Если я могу это сделать, как мне отредактировать оператор WHERE?