Использование ORMLite для Android позволяет создавать таблицы с определенными именами столбцов - PullRequest
1 голос
/ 27 февраля 2012

Я только собирался создать образец для правильного понимания того, как работает Hello Android для ORMLite в Android.

    public class SchoolDataBean {


// id is generated by the database and set on the object automagically
@DatabaseField(generatedId = true)
int rollNo;
@DatabaseField(index = true)
String name;
@DatabaseField
String gender;
@DatabaseField
boolean presence;

public SchoolDataBean() {
//required by ORM :)
}

public void setRollNo(int rollNo) {
    this.rollNo = rollNo;
}

public void setName(String name) {
    this.name = name;
}

public void setGender(String gender) {
    this.gender = gender;
}

public void setPresence(boolean presence) {
    this.presence = presence;
}

}

В помощнике по базам данных, когда я пытаюсь вставить исходные значения и создать таблицу с

      SchoolDataBean schoolDataSecond = new SchoolDataBean();
    schoolDataSecond.setName("Ram");
    schoolDataSecond.setGender("F");
    schoolDataSecond.setPresence(true);
    schoolDataSecond.setRollNo(2);
    dao.create(schoolDataSecond);

Я получаю это исключение из библиотеки ORMLite:

  sqlite returned: error code = 1, msg = duplicate column name: gender

   java.sql.SQLException: SQL statement failed: CREATE TABLE `schooldata` (`rollNo` INTEGER PRIMARY KEY AUTOINCREMENT , `name` VARCHAR , `gender` VARCHAR , `gender` VARCHAR , `presence` SMALLINT ) 

спасибо всем.

      The Exception seems to be caused at this line
        TableUtils.createTable(connectionSource, SchoolDataBean.class);

1 Ответ

0 голосов
/ 27 февраля 2012

На самом деле я не осознавал, что мне нужно проверять Config.txt и для имен столбцов, там было два похожих имени столбцов, которые вызвали эту проблему дублирования.

...