0

I changed something in my db so I incremented my version. However, this made an error. To fix it, I uninstalled the app hoping that it would work. But, what I got is no such table.

Here's my implementation.

SQLiteOpenHelper class:

public static final String SCHEMA = "LIFE.db";
public static final int VERSION = 5;

public DatabaseHelperS(Context context) { super(context, SCHEMA, null, VERSION); }

@Override
public void onCreate(SQLiteDatabase db) {
    //CREATE TABLE series ( id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT NOT NULL, description text not null, episodes integer not null, image integer not null, category text not null);
    String sql = "CREATE TABLE " + Series.TABLE + " ( "
            + Series.COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
            + Series.COLUMN_TITLE + " TEXT NOT NULL, "
            + Series.COLUMN_DESCRIPTION + " TEXT NOT NULL, "
            + Series.COLUMN_EPISODES + " INTEGER NOT NULL, "
            + Series.COLUMN_IMAGE + " INTEGER NOT NULL, "
            + Series.COLUMN_CATEGORY + " TEXT NOT NULL);";
    db.execSQL(sql);

}

@Override
public void onUpgrade(SQLiteDatabase db, int i, int i1) {
    String sql = "DROP TABLE IF EXISTS " + Series.TABLE;
    db.execSQL(sql);
    onCreate(db);
}
public Cursor getAllSeries(){
    SQLiteDatabase db = getReadableDatabase();

    return db.query(Series.TABLE,
            null, // *
            null, // where clause
            null, // where args
            null, // group by
            null, // having
            null  // order by
    );
}

Series class:

public static final String TABLE = "series";
public static final String COLUMN_ID = "_id";
public static final String COLUMN_TITLE = "title";
public static final String COLUMN_DESCRIPTION = "description";
public static final String COLUMN_IMAGE = "imagepath";
//public static final String COLUMN_GENRE = "genre";
public static final String COLUMN_EPISODES = "episodes";
public static final String COLUMN_CATEGORY = "category";

Android monitor logcat:

03-19 15:31:18.608 4810-4810/? E/AndroidRuntime: FATAL EXCEPTION: main
                                             Process: ph.edu.mobapde.machineproject4, PID: 4810
                                             android.database.sqlite.SQLiteException: no such table: series (code 1): , while compiling: SELECT * FROM series
                                                 at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
                                                 at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:893)
                                                 at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:504)
                                                 at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:726)
                                                 at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
                                                 at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
                                                 at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
                                                 at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1426)
                                                 at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1273)
                                                 at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1144)
                                                 at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1312)
                                                 at ph.edu.mobapde.machineproject4.db.DatabaseHelperS.getAllSeries(DatabaseHelperS.java:72)
                                                 at ph.edu.mobapde.machineproject4.Tab.SeriesTab.init(SeriesTab.java:47)
                                                 at ph.edu.mobapde.machineproject4.Tab.SeriesTab.onCreateView(SeriesTab.java:38)
                                                 at android.support.v4.app.Fragment.performCreateView(Fragment.java:2189)
                                                 at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1299)
                                                 at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528)
                                                 at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1595)
                                                 at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:757)
                                                 at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2355)
                                                 at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2146)
                                                 at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2098)
                                                 at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1979)
                                                 at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:626)
                                                 at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:166)
                                                 at android.support.v4.view.ViewPager.populate(ViewPager.java:1268)
                                                 at android.support.v4.view.ViewPager.populate(ViewPager.java:1116)
                                                 at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1642)
                                                 at android.view.View.measure(View.java:18911)
                                                 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5995)
                                                 at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
                                                 at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
                                                 at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
                                                 at android.view.View.measure(View.java:18911)
                                                 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5995)
                                                 at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
                                                 at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
                                                 at android.view.View.measure(View.java:18911)
                                                 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5995)
                                                 at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
                                                 at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
                                                 at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
                                                 at android.view.View.measure(View.java:18911)
                                                 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5995)
                                                 at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
                                                 at android.view.View.measure(View.java:18911)
                                                 at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5995)
                                                 at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
                                                 at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
                                                 at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
                                                 at android.view.View.measure(View.java:18911)
                                                at android.view.ViewGroup.measu

I tried a lot of things such as changing the database name, changing table name, upgrading version, and more. But none of it worked.

Line that uses the code I previously sent:

rv_series = (RecyclerView) fragView.findViewById(R.id.rv_series);
    dbHelper = new DatabaseHelperS(getActivity());
    Cursor c = dbHelper.getAllSeries();
seulgibear
  • 601
  • 1
  • 6
  • 17

0 Answers0