2012-10-09 46 views
0

我使用Sqlite並在android應用程序中運行。如何檢查遊標是否爲空值?

我有這樣的代碼:

//get ALL Data 
public Cursor getAll() throws SQLException 
{ 
    Cursor mCursor = mDb.query(DATABASE_TABLE, null, null, null, null, null, null); 
    if(mCursor != null) 
    { 
     mCursor.moveToFirst(); 
    } 
    else if(mCursor.isNull(0)) 
    { 
     Log.d("data", "null"); 
    } 
    return mCursor; 
} 

我的麻煩,如果null值的應用程序強制關閉等> _ <。我想如果價值null然後打印日誌?

請任何身體解決我的麻煩??

+0

你可以像這樣檢查'mcursor.getCount()> 0' –

回答

0

您需要檢查光標移動或不

if (cursorinfo.moveToFirst()) 
{ 
if value then show data here. 
} 
else 
{ 
Log here 
} 
0

您要撥打的isNull一個空指針。 if語句表示它的工作調用isNull,除非mCursor對象爲null,這將拋出NullPointerException - 這會導致崩潰。嘗試刪除後,如果其他。如果mCursor爲空,它將記錄「null」。

2

我覺得要嵌套這些if塊:

... 
if (mCursor != null) 
{ 
    mCursor.moveToFirst(); 

    if (mCursor.isNull(0)) 
    { 
     Log.d("data", "null"); 
    } 
} 
return mCursor; 

在你的代碼的else if塊只運行,如果mCursor爲空,在這種情況下mCursor.isNull(0)會拋出異常。