【发布时间】:2014-10-15 14:14:53
【问题描述】:
我正在尝试仅检索数据库表中 not NULL 的数据,但 IS NOT NULL 子句似乎不起作用。还会显示空字段。
String sql = "SELECT _id, nome_sotto FROM Categorie
WHERE nome_categoria = '"+i.getStringExtra("categoria")+"'
AND nome_sotto IS NOT NULL ORDER BY nome_sotto ASC";
private void list() {
SQLiteDatabase db = mHelper.getReadableDatabase();
final List<Dettaglio> dettagli = new ArrayList<Dettaglio>();
String sql = "SELECT _id, nome_sotto FROM Categorie
WHERE nome_categoria = '"+i.getStringExtra("categoria")+"'
AND nome_sotto IS NOT NULL ORDER BY nome_sotto ASC";
Cursor c = db.rawQuery(sql, null);
while (c.moveToNext()){
Dettaglio d = new Dettaglio();
d.id = c.getString(0);
d.sottocat = c.getString(1);
dettagli.add(d);
}
c.close();
db.close();
ListAdapter adapter....
}
【问题讨论】:
-
请分享输出,你得到的回应
-
作为一个空字段,输出是 ListView 的空行。
-
添加一些日志记录以捕获查询结果,然后将其添加到您的问题中。还向我们展示您发出查询和处理结果的代码。
-
可能该值是一个包含
null的字符串。 -
您确定
_id字段是字符串吗?对于数据库查询,它通常是long,CursorAdapter 期望它是long。