Добавить несколько таблиц в один класс базы данных - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть 2 таблицы Employee и таблица заказов, я пытаюсь внедрить эти таблицы в один и тот же класс databasehelper, но он дает мне несколько ошибок, если я создаю другой класс databasehelper или я могу реализовать их в один

таблицы выглядят так: `открытый класс DatabaseHelper расширяет SQLiteOpenHelper {

    private static final String DB_NAME = "shopinstyle.db";
    private static final String DB_TABLE = "Employee";
    private static final String ORDER_TABLE = "Order";

    //Employee
    //columns
    private static final String ID = "ID";
    private static final String FNAME = "FNAME";
    private static final String LNAME = "LNAME";
    private static final String PNUMBER = "PNUMBER";
    private static final String EMAIL = "EMAIL";
    private static final String NIC = "NIC";

    //Order
    //columns
    private static final String ord_ID = "ord_ID";
    private static final String ord_Name = "ord_Name";
    private static final String ord_Qty = "ord_Qty";
    private static final String ord_Price = "ord_Price";
    private static final String ord_Location = "ord_Location";

    private static final String CREATE_TABLE = "CREATE TABLE " + DB_TABLE + " (" +
            ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
            FNAME + " TEXT, " +
            LNAME + " TEXT, " +
            PNUMBER + " TEXT, " +
            EMAIL + " TEXT, " +
            NIC + " TEXT" + ")";

    private static final String CREATE_TABLE_ORDER = "CREATE TABLE " + ORDER_TABLE + " (" +
            ord_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
            ord_Name + " TEXT, " +
            ord_Qty + " TEXT, " +
            ord_Price + " TEXT, " +
            ord_Location + " TEXT " + ")";

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

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {

        sqLiteDatabase.execSQL(CREATE_TABLE);
        sqLiteDatabase.execSQL(CREATE_TABLE_ORDER);
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

        sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + DB_TABLE);
        sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + ORDER_TABLE);
        onCreate(sqLiteDatabase);

    }`

в этой строке есть ошибка

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

1 Ответ

0 голосов
/ 20 сентября 2019

3d-аргумент в cal super() внутри конструктора класса DatabaseHelper равен factory, который вы можете передать как null, а не как имя таблицы:

super(context, DB_NAME,null, 1);
...