其中;“不为空”;sqliteandroid中的子句

其中;“不为空”;sqliteandroid中的子句,android,sqlite,cursor,Android,Sqlite,Cursor,我想从notes为(非空)的数据库中检索notes,我编写了以下代码: public Cursor getmynotesss(int id){ Cursor mCursor = database.query(true, NOTES_TABLE, new String[] { NOTE_TEXT, PAGE_NO,BOOK_ID},BOOK_ID + "=? AND "+NOTE_TEXT+" IS NOT NULL OR "+NOTE_TEXT+" != ''"

我想从notes为(非空)的数据库中检索notes,我编写了以下代码:

public Cursor getmynotesss(int id){
    Cursor mCursor = database.query(true, NOTES_TABLE, new String[] {
            NOTE_TEXT, PAGE_NO,BOOK_ID},BOOK_ID + "=? AND "+NOTE_TEXT+" IS NOT NULL OR "+NOTE_TEXT+" != ''" ,
            new String[] { String.valueOf(id) }, null, null, null, null);

    if (mCursor != null) {
        mCursor.moveToFirst();
    }
    return mCursor;
}
但它仍然给我零音符。
我的代码有什么问题?

看起来
条件应该是

"=? AND "+NOTE_TEXT+" IS NOT NULL AND "+NOTE_TEXT+" != ''"
试一试

SQLITE中的notequals是“not”!=“

尝试替换

IS NOT NULL 

``

我已经这样解决了我的问题

SELECT pk_video_master_id AS _id,
video_title,
video_added_date,
video_thumbnail FROM tbl_video_master
WHERE NOT video_detail_last_view ='' // this is return not null values and work for me 
ORDER BY video_detail_last_view ASC";
Cursor mCursor = database.query(true, NOTES_TABLE,new String[] {NOTE_TEXT,AGE_NO,BOOK_ID},BOOK_ID + "=? AND NOT "+NOTE_TEXT+" = ''" ,new String[] {String.valueOf(id) }, null, null, null, null);
所以你可以这样试试

SELECT pk_video_master_id AS _id,
video_title,
video_added_date,
video_thumbnail FROM tbl_video_master
WHERE NOT video_detail_last_view ='' // this is return not null values and work for me 
ORDER BY video_detail_last_view ASC";
Cursor mCursor = database.query(true, NOTES_TABLE,new String[] {NOTE_TEXT,AGE_NO,BOOK_ID},BOOK_ID + "=? AND NOT "+NOTE_TEXT+" = ''" ,new String[] {String.valueOf(id) }, null, null, null, null);

NOTE\u TEXT的值是多少?公共最终静态字符串NOTE\u TEXT=“NOTE\u txt”;这是文本字段的名称。你确定它们是空的吗?一些空格?如果是空格,它将出现,因为空格不是空的,请尝试添加“+注意_text+”''”而不是!=添加为“!”“在sqlite中无效