Проблема SQLite в Android, столбец не найден - PullRequest
1 голос
/ 15 апреля 2011

Я работаю с частью опроса приложения для работы и получаю исключение, в котором говорится, что мой ответ 2 не найден при вставке значений в базу данных.

db.execSQL("UPDATE tblPoll SET Question='Who is more awesome?' WHERE rowid=1;");
    db.execSQL("UPDATE tblPoll SET Answer1='Dan' WHERE rowid=1;");
    db.execSQL("UPDATE tblPoll SET Answer2='Peet' WHERE rowid=1;");
    db.execSQL("UPDATE tblPoll SET Answer3='Jordan' WHERE rowid=1;");
    db.execSQL("UPDATE tblPoll SET Answer4='Spencer' WHERE rowid=1;");
    db.execSQL("UPDATE tblPoll SET result1=0 WHERE rowid=1;");
    db.execSQL("UPDATE tblPoll SET result2=0 WHERE rowid=1;");
    db.execSQL("UPDATE tblPoll SET result3=0 WHERE rowid=1;");
    db.execSQL("UPDATE tblPoll SET result4=0 WHERE rowid=1;");
    db.execSQL("UPDATE tblPoll SET resultTotal=0 WHERE rowid=1;");

Это мой код для вставки элементов в строку, и он работает для каждого из ответов (членов команды), кроме Пита. Я поставил Пита первым, последним и вторым, и он единственный, кто сломает его.

private static final String DATABASE_CREATE =
    "CREATE TABLE tblPoll (id INTEGER PRIMARY KEY, " +
    "Question TEXT, Answer1 TEXT, Result1 NUMERIC, " +
    "Answer2 TEXT, Result2 NUMERIC, Answer3 TEXT, " +
    "Result3 NUMERIC, Answer4 TEXT, Result4 NUMERIC, " +
    "ResultTotal NUMERIC);";

Это мой код для вставки таблицы.

Любая помощь будет принята с благодарностью.

@ 2red13 Я запустил его, как и вы (со всеми полями, заполненными должным образом, и он все еще портит Ответ2.

Новый код:

ContentValues werte = new ContentValues();  
    werte.put("Answer1", "Dan");
    werte.put("Answer2", "Peet");
    werte.put("Answer3", "Jordan");
    werte.put("Answer4", "Spencer");
    werte.put("Result1", 0);
    werte.put("Result2", 0);
    werte.put("Result3", 0);
    werte.put("Result4", 0);
    werte.put("ResultTotal", 0);
    db.update("tblPoll", werte,"rowid=1",null);

1 Ответ

0 голосов
/ 15 апреля 2011

У меня нет идеи, когда Пит Шоуд терпит неудачу, но способ, которым вы выполняете обновления, немного медленный, попробуйте:

ContentValues werte = new ContentValues();  
werte.put("Answer1", "Dan");
....
werte.put("resultTotal", 0);
db.update("tblPoll", werte,"rowid=1",null);

Возможно, это тоже решает проблему Пита ^^

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