无法在SQLite数据库中动态分配表名

时间:2013-12-05 07:30:14

标签: android database sqlite

    Code :

        public void onCreate(SQLiteDatabase db) {
                    // TODO Auto-generated method stub
                    RegistrationPage var = new RegistrationPage();
                    DATABASE_TABLE =  var.username.getText().toString();

                    db.execSQL(" CREATE TABLE " + DATABASE_TABLE + " (" + KEY_FIRSTNAME
                            + " TEXT NOT NULL, " + KEY_MIDDLENAME
                            + " TEXT NOT NULL, " + KEY_LASTNAME + " TEXT NOT NULL, " + KEY_USERNAME + " TEXT NOT NULL, " + KEY_MAIL_ID + " TEXT NOT NULL, " + KEY_DATE_OF_BIRTH + " INTEGER NOT NULL, " + KEY_COUNTRY + " TEXT NOT NULL " + ");");

上面的代码表示来自DBAdapter类的方法,其中我初始化并执行数据库中的所有活动。

我有3项活动

  1. 登入
  2. 注册
  3. 查看
  4. 登录:截至目前尚未集中注意力。

    注册:在此页面中,我获取了用户的详细信息,包括用户名,应该设置为我的数据库中的表名。然后我打开它并将所有数据插入数据库。

    注意:当我动态分配表名时,插入数据不起作用,但如果我对表名进行硬编码,那么它就像魅力一样

    查看:在查看时,我需要首先打开数据库,这需要我在上一个活动中指定的表名,但在移动到此活动时会显示空指针异常并强制关闭我的应用程序。

    帮助我们。我是新手,对这个项目感到绝望。

1 个答案:

答案 0 :(得分:2)

最好将表名存储在某个存储区中,即:SharedPreferences并将其用于创建,获取,插入,更新表格。