2013-12-05 3 views
0
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, где я инициализирую и выполняю все действия в базе данных.Невозможно присвоить имя таблицы в базе данных SQLite динамически

У меня есть 3 мероприятия

  1. зарегистрировались
  2. Регистрация
  3. Просмотр

: Не зарегистрировались концентрируясь на нем, как сейчас.

Регистрация: На этой странице я получаю информацию о пользователе, включая USERNAME, КОТОРЫЙ ДОЛЖЕН УСТАНОВИТЬ КАК ИМЯ ДЛЯ ТАБЛИЦЫ В МОЙ БАЗЕ ДАННЫХ. Затем я открываю его и вставляю все данные в базу данных.

ПРИМЕЧАНИЯ: Установка данных не работает, а я присвоить имя таблицы динамически, но если я жёстко имени таблицы, то он работает как шарм

Вид: Во время просмотра, мне нужно открыть базу данных во-первых, для чего потребуется имя таблицы, которое я назначил в предыдущем действии, но он говорит об исключении исключительного указателя при переходе к этому действию и принудительно закрывает мое приложение.

Помогите мне, ребята. Я новичок и отчаянно нуждаюсь в этом проекте.

+0

Мне нужно было получить экземпляр RegistrationPage во всех методах доступа к имени DATABASE_TABLE. Такие методы, как onCreate(), onUpdate(), onInsert() и т. Д. – San

+0

Почему вы не используете единую таблицу «Пользователи», а имя пользователя - как дополнительный столбец? –

+0

@CL, То, что я собираюсь делать. Спасибо за вашу помощь. – San

ответ

2

Его лучше хранить имя таблицы в каком-либо хранилище i.e: SharedPreferences и использовать его для создания, выборки, вставки, обновления таблицы.

+0

Вы имеете в виду, что я получаю имя пользователя и назначаю его для общих предпочтений, а затем использую его во всех методах? – San

+0

Да, это лучший способ, потому что, если вы используете базу данных, очевидно, что ваше приложение будет использовать базу данных в будущем, также когда вы закрываете приложение и возвращаетесь, чтобы использовать его! –

+0

Спасибо приятелю. Очень признателен. Попробуй это и вернешься к тебе !! – San

Смежные вопросы