2015-06-03 44 views
0

第一線,我在getReadbleDatabaseNullPointerException異常處getReadableDatabase

public List<Offer> getOffers(String offer_category) 
     { 
      db = this.getReadableDatabase(); 
      String sql = "select * from offer_db "+TABLE_OFFER + " where "+ OFFER_CATEGORY+ " is "+ offer_category; 
      Cursor cur = db.rawQuery(sql,null); 
      cur.moveToFirst(); 
     } 

在這裏得到一個空指針異常是logcat的數據

產生的原因:在 android.database顯示java.lang.NullPointerException。 sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224) at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188) at com.example.shreyfrapp.DatabaseHandler.getOffers(DatabaseHandler.java:61) at com.example.shreyfrapp.FragmentTab1.onCreate(FragmentTab1.java:39) at android.app.Fragment.performCreate(Fragment.java:1678 )在 android.app.FragmentManagerImpl.moveToState(FragmentManager.java:859) 在 android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062) 在android.app.BackStackRecord.run(BackStackRecord.java:684)在 android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447) 在android.app.Activity.performStart(Activity.java:5240)在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2168) 在 android.app.A在android.app.ActivityThread.access $ 800(ActivityThread.java:135)at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1196) at android.os ctimeThread.handleLaunchActivity(ActivityThread.java:2245) at android.app.ActivityThread.access .Handler.dispatchMessage(Handler.java:102)at android.os.Looper.loop(Looper.java:136)at android.app.ActivityThread.main(ActivityThread.java:5021)at java.lang.reflect .Method.invokeNative(Native Method)at java.lang.reflect.Method.invoke(Method.java:515)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:827) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)at dalvik.system.NativeStart.main(Native Method)

+2

發佈您的logcat! – Chandrakanth

+1

發佈你的日誌貓 –

+1

假設logcat在'getDatabaseLocked()'中顯示NPE,請確保你傳遞了一個有效的'Context'到你的sqlite助手。 – laalto

回答

0

在大寫中給出查詢,並在「is」處嘗試「=」。爲什麼在選擇查詢中將光標移動到第一位?

+0

錯誤即將到來,我正在實例化數據庫對象。該查詢必須稍後執行。 – Shrey

+0

實際上你正在訪問哪個數據庫? – Sharath

+0

我正在使用SQLite – Shrey