0
我有一個ContentProvider,我想進行一個查詢,該查詢返回特定列的值不爲null的表的行。在SQL中,您可以使用column IS NOT NULL
,但我無法弄清楚ContentProviders的等效語句。如何在Android上查詢ContentProvider的值不爲空?
到目前爲止我試過:
SQL的語法。
getContentProvider().query(uri, null, Contract.Table.COLUMN + " is not null", null, null);
SQL像選擇參數的語法。
getContentProvider().query(uri, null, Contract.Table.COLUMN + " is not null", new String[0], null);
是等於用實際
null
價值。getContentProvider().query(uri, null, Contract.Table.COLUMN + " != ?", new String[]{null}, null);
不等於
"null"
字符串。getContentProvider().query(uri, null, Contract.Table.COLUMN + " != ?", new String[]{"null"}, null);
謝謝!
詢問編寫ContentProvider的人。這取決於ContentProvider的作者如何解釋傳遞給query()的參數。對於在SQLite中存儲其數據的'ContentProvider',我希望你的第一個語法在工作時有一個體面的鏡頭,但這並不能保證。 – CommonsWare
並嘗試「不爲空」,而不是「不爲空」,注意前導空間 – pskink
@pskink謝謝,這是一個錯字。我的代碼中有空間。 –