我试图找出一种根据用户请求在我的数据库中动态创建新表的方法。我当前的 DB 类使用以下代码。我试图弄清楚如何改变它以便能够动态地创建新表。我的一个想法是使用此代码并首先使用 onCreate 创建一个表,该表将保存未来表的名称。从那里,当用户输入一个新表时,我将该表添加到将保存表名的当前表中,然后我将选择它并使用 to 实际创建具有该特定名称的表。我不确定这是否真的有效,但这是我刚刚想到的,想看看你们的想法。
private static class DbHelper extends SQLiteOpenHelper{
/* Constructor */
public DbHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db){
// TODO Auto-generated method stub
db.execSQL("CREATE TABLE " + TABLE_NAME + " (" +
KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
KEY_FRONT + " TEXT NOT NULL, " +
KEY_BACK + " TEXT NOT NULL);"
);
}
@Override
public void onUpgrade(SQLiteDatabase db, int arg1, int arg2){
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);
onCreate(db);
}
}