java - 在一个数据库助手类中添加多个表
问题描述
我有 2 个表 Employee 和 order 表,我正在尝试将这些表实现到同一个 databasehelper 类中,但是给了我几个错误,我应该创建另一个 databasehelper 类,还是可以将它们实现到一个中
表看起来像这样 `public class DatabaseHelper extends 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);
}
解决方案
类super()
的构造函数内部的cal 中的 3d 参数是您可以传递的,而不是表的名称:DatabaseHelper
factory
null
super(context, DB_NAME,null, 1);
推荐阅读
- c# - ASP.NET Core 2 Web 应用程序对 .NET 标准库的参考
- python - trainfeats = negfeats[:negcutoff] + posfeats[:poscutoff]
- html - 无法更改标题的背景颜色
- php - Yii2 和 Materialise CSS
- azureservicebus - 添加对批量接收服务总线消息的支持
- android - 当订阅者处置时,Observable 应该调用 .onComplete() 吗?
- html - 隐藏溢出文本后面的文本
- java - 如何在android中调整捕获的图像大小
- sql - 获取第一个合同的类型字段
- c++ - while 循环内的 while 循环的时间复杂度是多少?