2012-08-16 117 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 */ 
} 
相关问题