Как я могу создать новую таблицу в моей базе данных SQLite, используя параметр из строковой переменной Java? - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь создать новую таблицу в SQLite, используя существующую Java строковую переменную, но имя переменной не распознается как Java ... Как это исправить?

    String name1 = textViewPerson1.getText().toString();
    String name2 = textViewPerson2.getText().toString();
    String name3 = textViewPerson3.getText().toString();

    try{
        SQLiteDatabase database = this.openOrCreateDatabase("NewUsers",MODE_PRIVATE,null);
        database.execSQL("CREATE TABLE IF NOT EXISTS newUsers (name VARCHAR, hitCount INT(2))");
        database.execSQL("INSERT INTO newusers (name,age) VALUES (name1,17)");
        database.execSQL("INSERT INTO newusers (name,age) VALUES (name2, 16)");
    }catch (Exception e){
        e.printStackTrace();
    }

}

1 Ответ

0 голосов
/ 03 марта 2020

Я рекомендую вам использовать кавычки в предложениях sql и указать значение для вашего varchar, например:

database.execSQL("CREATE TABLE IF NOT EXISTS 'newUsers' ('name' VARCHAR(25), 'hitCount' INT(2))");

И вы должны выйти из контекста "String" в строках вставки, что-то вроде this:

database.execSQL("INSERT INTO 'newusers' (name,age) VALUES ('"+name1+"',17)");

Очевидно, что существуют другие варианты очистки, такие как StringBuilder, но это должно помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...