Android 용 ORMLite를 사용하면 특정 열 이름이있는 테이블 생성이 가능합니다.

StackOverflow https://stackoverflow.com/questions/9461499

문제

Android에서 Hello Android 인 Hello Android for 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);
.

도움이 되었습니까?

해결책

실제로 나는 열 이름에 대해 config.txt를 확인해야한다는 것을 알지 못했습니다.이 중복 문제가 발생한 두 개의 유사한 열 이름이었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top