Как добавить новую таблицу (без удаления предыдущей базы данных) в базу данных, которая была создана ранее с помощью SQLiteOpenHelper в Android Studio? - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь создать новую таблицу, используя exe cSQL () класса SQLiteDatabase в ранее созданной базе данных, и я хочу сохранить информацию из моей предыдущей базы данных. Но мое приложение вылетает сразу после установки на мой телефон. Я предоставляю свои коды java, и не имеет значения, какой код xml вы используете для MainActivity. java.

My MainActivity. java код:

package com.example.secondtabletodatabase;

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    DatabaseHelper myDb;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myDb = new DatabaseHelper(this);

        myDb.createNewTable("xyz");
    }


}

My DatabaseHelper. java код:

package com.example.secondtabletodatabase;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseHelper extends SQLiteOpenHelper {
    public static final String DATABASE_NAME = "Student.db";
    public static final String TABLE_NAME = "student_table";

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

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table " + TABLE_NAME +" (ID INTEGER PRIMARY KEY AUTOINCREMENT,NAME TEXT,SURNAME TEXT,MARKS INTEGER)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME);
        onCreate(db);
    }

    public void createNewTable(String table_name) {
        SQLiteDatabase db = this.getWritableDatabase();
        db.execSQL("create table if not exists " + table_name +" (i INTEGER PRIMARY KEY AUTOINCREMENT,X TEXT,Y TEXT");
    }

}
...