2015-06-03 20 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