Ошибка обновления базы данных SQLite в Android

Алексей Макаров

При увеличении версии базы данных (обновлении), приложение вылетает. Ошибка возникает, когда я просто увеличиваю число версии БД, неважно какой код при этом будет исполняться (хоть без комманд)

package ru.geodevelop.geologicalnote.GNDataBase;

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.ContactsContract;
import  java.util.Date;

/**
 * Created by kelfo on 17.09.2016.
 */
public class GNDataBaseHelper extends SQLiteOpenHelper{
    private static final String DB_NAME = "GNDataBase";
    private static final int DB_VERSION = 3; //при увеличении версии приложение вылетает


    public GNDataBaseHelper(Context context)
    {
        super(context, DB_NAME, null,DB_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        updateGNDataBase(db,0,DB_VERSION);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        updateGNDataBase(db,oldVersion,newVersion);
    }
    public static void insertObject(SQLiteDatabase db, String name)
    {
        ContentValues objectValues = new ContentValues();
        objectValues.put("NAME", name);
        db.insert("OBJECT", null,objectValues);
    }

    public static void insertObjectWithDate(SQLiteDatabase db, String name, Date date)
    {
        ContentValues objectValues = new ContentValues();
        objectValues.put("NAME", name);
        objectValues.put("GNDATA", date.getTime());
        db.insert("OBJECT", null,objectValues);
    }


    private void updateGNDataBase(SQLiteDatabase db, int oldVersion, int newVersion)
    {
        if(oldVersion == 1)
        {
            db.execSQL("CREATE TABLE OBJECT ("
                    + "_id INTEGER PRIMARY KEY AUTOINCREMENT,"
                    + "NAME TEXT," +
                    "GNDATA INTEGER)");
            Date nowData = new Date();
            insertObjectWithDate(db,"TEST2", nowData);

        }
        if(oldVersion < 3)
        {
           db.execSQL("CREATE TABLE ROUTE ("+
                    "_id INTEGER PRIMARY KEY AUTOINCREMENT,"+
                    "NAME TEXT,"+
                    "DESCRIPTION TEXT,"+
                    "GNDATA INTEGER)");

        }
    }


}
Алексей Макаров около 1 года назадСпасибо 0
1 чел.