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谢谢,这是一个错字。我的代码中有空间。 –