So suchen Sie nach NULL in der Android-Datenbankabfrage & ODER-Anweisung in Auswahl

Einige Fragen zu einer Datenbankabfrage:

Ich habe also die folgende Datenbankabfrage, die eine WHERE-Anweisung enthält, die drei String-Variablen enthält (rackingSystem, Hersteller, "Amber Risk").

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

Frage 1:

Wie suche ich nach NULL, da im obigen Beispiel der Hersteller möglicherweise NULL in der Datenbank ist (da der Benutzer möglicherweise noch nichts für dieses Bit in die Datenbank eingegeben hat).

Frage 2:

Kann ich eine OR-Anweisung in die WHERE-Anweisung aufnehmen? Im Moment suche ich nach allen Datensätzen, die "Amber Risk" sind, aber ich muss auch Einträge in diese Liste aufnehmen, die "Red Risk" sind. Wie soll ich die WHERE-Anweisung bearbeiten, wenn ich das kann?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage