2012-08-16 118 views
0

我執行下面的代碼:NullPointerException異常時調用rawquery()

String sql = "Select * from NetOrderID where (flag='0')"; 
Cursor mCur = mDb.rawQuery(sql, null) ; 

的logcat:

08-16 19:09:54.868: W/System.err(10911): java.lang.NullPointerException 

我不明白爲什麼我會收到,即使該查詢實際的數據庫成功執行這個錯誤。

+2

MDB可能爲空? – FWeigl 2012-08-16 13:46:17

+0

然後檢查您的mDb對象是否爲空 – 2012-08-16 13:46:29

+0

mDb爲空... [爲什麼空指針異常?](http://samir-mangroliya.blogspot.in/p/why-nullpointerexception-occures-in.html) – 2012-08-16 13:48:50

回答

0

你是否像這樣初始化mDb ......?

mDb = openOrCreateDatabase("DataBase.db", SQLiteDatabase.CREATE_IF_NECESSARY, null); 
2

下面部分mDb也可能會被null

Cursor mCur = mDb.rawQuery(sql, null); 

在嘗試使用它之前,請確保您正在實例化或獲取mDb的對象。

嘗試類似如下:

if (mDb != null) { 
    Cursor mCur = mDb.rawQuery(sql, null); 
} else { 
    /* handle the null scenario, instantiate an object or try and get one */ 
} 
相關問題