3

ノートが(nullではない)データベースからノートを取得したいので、次のコードを記述しました。

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;
}

しかし、それでも私にヌルノートを与えます。私のコードの何が問題になっていますか?

4

4 に答える 4

8

OR状態は次のようになりますAND

"=? AND "+NOTE_TEXT+" IS NOT NULL AND "+NOTE_TEXT+" != ''"
于 2012-09-08T13:06:17.503 に答える
0

試す

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

SQLITE の not equals は "!=" ではなく "<>" です

于 2012-09-08T13:10:47.540 に答える
-1

交換してみてください

IS NOT NULL 

<>``
于 2013-10-24T18:50:09.093 に答える