0

I've got below class where i try to put 4 columns in sqlite table. Before changes I had 3 columns and everything was ok. After add 4 column called COL5 = trasa with string which looks like: "Wiejska 14|Leszczynowa 2|Honoriusza Balzaka 11|Honoriusza Balzaka 4|Honoriusza Balzaka 1A|" studio show me strange error. I don't understand what's going wrong...

04-22 10:56:15.503 19238-19238/com.example.norbert.routespreparation2 E/SQLiteLog: (1) table tabela_tras has no column named trasa
04-22 10:56:15.505 19238-19238/com.example.norbert.routespreparation2 E/SQLiteDatabase: Error inserting start=Wiejska 14 trasa=Wiejska 14|Leszczynowa 2|Honoriusza Balzaka 11|Honoriusza Balzaka 4|Honoriusza Balzaka 1A| koniec=Honoriusza Balzaka 1A czas=0.43 KM AVS: 151 KM/H Time: 00:00:10
android.database.sqlite.SQLiteException: table tabela_tras has no column named trasa (code 1): , while compiling: INSERT INTO tabela_tras(start,trasa,koniec,czas) VALUES (?,?,?,?)
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1469)
at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1341)
at com.example.norbert.routespreparation2.DatabaseHelper.addData(DatabaseHelper.java:86)
at com.example.norbert.routespreparation2.MapsActivity.butStop(MapsActivity.java:142)
at com.example.norbert.routespreparation2.MapsActivity_ViewBinding$1.doClick(MapsActivity_ViewBinding.java:37)
at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:22)
at android.view.View.performClick(View.java:4780)
at android.view.View$PerformClick.run(View.java:19866)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

and class:

class DatabaseHelper extends SQLiteOpenHelper {

    private static final String TAG = "DatabaseHelper";

    private static final String TABLE_NAME = "tabela_tras";
    private static final String COL1 = "ID";
    private static final String COL2 = "start";
    private static final String COL3 = "koniec";
    private static final String COL4 = "czas";
    private static final String COL5 = "trasa";

    public String getStartP() {
        return StartP;
    }

    public void setStartP(String startP) {
        StartP = startP;
    }

    public String getKoniecP() {
        return KoniecP;
    }

    public void setKoniecP(String koniecP) {
        KoniecP = koniecP;
    }

    public String getCzasP() {
        return CzasP;
    }

    public void setCzasP(String czasP) {
        CzasP = czasP;
    }

    public String StartP, KoniecP, CzasP, TrasaP;

    public String getTrasaP() {
        return TrasaP;
    }

    public void setTrasaP(String trasaP) {
        TrasaP = trasaP;
    }


    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {


        String createTable = "CREATE TABLE " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, "
                + COL2 + " TEXT," + COL3 + " TEXT," + COL4 + " TEXT," + COL5 + " TEXT)";
        sqLiteDatabase.execSQL(createTable);
    }

    public DatabaseHelper(Context context) {
        super(context, TABLE_NAME, null, 1);
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
        sqLiteDatabase.execSQL("DROP IF TABLE EXIST " + TABLE_NAME);
        onCreate(sqLiteDatabase);
    }

    public boolean addData() {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        contentValues.put(COL2, getStartP());
        contentValues.put(DatabaseHelper.COL3, getKoniecP());
        contentValues.put(DatabaseHelper.COL4, getCzasP());
        contentValues.put(DatabaseHelper.COL5, getTrasaP());


        long result = db.insert(TABLE_NAME, null, contentValues);
        if (result == -1) {
            return false;
        } else {
            return true;
        }
    }

    public Cursor getData() {
        SQLiteDatabase db = this.getWritableDatabase();
        String query = "SELECT * FROM " + TABLE_NAME;
        Cursor data = db.rawQuery(query, null);
        return data;
    }
}
marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
bakusek
  • 135
  • 3
  • 17

0 Answers0