2014-10-15 2 views
3

Я пытаюсь получить только данные, которые являются not NULL в таблице базы данных, но статья IS NOT NULL не работает. Отображаются также нулевые поля.Android SQLite select 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.... 
} 
+2

Покажите нам выход. –

+0

share output pls, что вы получаете в ответ – Hitesh

+0

, являющееся пустым полем, выход является пустой строкой ListView. – user3608814

ответ

0

Empty не то же самое, как нуль. Если вы хотите отфильтровать пустые значения и нулевые значения, вам нужно будет добавить: AND nome_sotto != ''

+0

no '' '' but '' 'и все работает нормально. – user3608814