Ich habe einen ContentProvider und möchte eine Abfrage erstellen, die die Zeilen einer Tabelle zurückgibt, in der die Werte einer bestimmten Spalte nicht null sind. In SQL können Sie die column IS NOT NULL
verwenden, aber ich kann nicht herausfinden, was die äquivalente Aussage im Fall von ContentProviders ist.Wie Abfrage eines ContentProvider für Wert, der auf Android nicht null ist?
Ich habe bisher versucht:
SQL-ähnliche Syntax.
getContentProvider().query(uri, null, Contract.Table.COLUMN + " is not null", null, null);
SQL-Syntax wie mit Auswahl Argumenten.
getContentProvider().query(uri, null, Contract.Table.COLUMN + " is not null", new String[0], null);
Ist auf gleich mit echtem
null
Wert.getContentProvider().query(uri, null, Contract.Table.COLUMN + " != ?", new String[]{null}, null);
Ist das nicht mit
"null"
Zeichenfolge gleich.getContentProvider().query(uri, null, Contract.Table.COLUMN + " != ?", new String[]{"null"}, null);
Vielen Dank!
Fragen Sie, wer auch immer den 'ContentProvider' geschrieben hat. Es liegt am Autor des 'ContentProvider', wie die an query() übergebenen Parameter interpretiert werden. Für einen 'ContentProvider', der seine Daten in SQLite speichert, würde ich erwarten, dass Ihre erste Syntax einen ordentlichen Schuss am Arbeiten hat, aber das ist nicht garantiert. – CommonsWare
und versuchen Sie "ist nicht null", nicht "ist nicht null", beachten Sie den führenden Platz – pskink
@pskink Danke, es war ein Tippfehler. Ich habe Platz in meinem Code. –