0

I am getting a nullpointer exception at getReadbleDatabase

 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();
       }

here is the logcat data

Caused by: java.lang.NullPointerException at android.database.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) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:859) at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062) at android.app.BackStackRecord.run(BackStackRecord.java:684) at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447) at android.app.Activity.performStart(Activity.java:5240) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2168) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) at android.app.ActivityThread.access$800(ActivityThread.java:135) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) at android.os.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)

chiwangc
  • 3,566
  • 16
  • 26
  • 32
Shrey
  • 1
  • 1
  • 1
    Assuming the logcat shows the NPE in `getDatabaseLocked()`, make sure you're passing a valid `Context` to your sqlite helper. – laalto Jun 03 '15 at 10:00
  • While you grab your logcat, take a look at [some SQLite Docs](https://www.sqlite.org/lang_select.html) - you need a `.` between your database + table name, and also need to be using `=` instead of `is` to compare against a column value, and quotations around your string – Jamie - Fenrir Digital Ltd Jun 03 '15 at 10:07
  • i have posted the logcat... – Shrey Jun 03 '15 at 12:02
  • http://stackoverflow.com/questions/21883777/android-nullpointerexception-getdatabaselocked/21883908 – laalto Jun 05 '15 at 12:28

1 Answers1

0

Give the query in capital and try "=" in the place of "is".why are u moving the cursor to first in select query?

Sharath
  • 691
  • 8
  • 23