2014-09-12 3 views
0

내 프로젝트에서 OrmLite를 사용하여 logItem이라는 테이블을 성공적으로 만들었지 만 레코드를 삽입하려고하면 예외가 표시됩니다. 왜 이런 일이 일어나고 있는지 알고 싶습니다. 내 logcat주세요. OrmLite 테이블을 성공적으로 만들 수 있지만 레코드를 삽입 한 후 오류가 발생할 수 있습니다.

감사

후에는 food_id 열을 찾을 수 없습니다 보여 OrderItem에에 삽입 한 후 기록을
09-12 07:30:13.075: I/TableUtils(22428): creating table 'OrderItem' 

09-12 07:30:13.085: I/TableUtils(22428): executed create table statement changed 1 rows: CREATE TABLE `OrderItem` (`custom_taste` VARCHAR , `order_id` INTEGER , `name` VARCHAR , `id` INTEGER PRIMARY KEY AUTOINCREMENT , `food_id` INTEGER , `quantity` INTEGER) 

OrderItem에

을 만들 수 있습니다. 위 logcat에서 food_id 열이 생성됩니다.

09-12 07:32:00.885: E/SQLiteLog(22428): (1) table OrderItem has no column named food_id 

09-12 07:32:00.905: W/System.err(22428): java.sql.SQLException: Unable to run insert stmt on object [email protected]: INSERT INTO `OrderItem` (`custom_taste` ,`order_id` ,`name` ,`food_id` ,`quantity`) VALUES (?,?,?,?,?) 
+0

내 질문에 조건을 추가 생략 한 열 이름 food_id는 OrderItem.java에 추가됩니다. – SAWAUNG

답변

0

나는 누군가의 대답을 기다리는 동안, 나는 내 질문에 대한 해결책을 찾았다. 이 링크는 도움이됩니다 https://groups.google.com/forum/#!topic/ormlite-android/k-i1MnaL-aQ. 여기

내 솔루션이며,

// some set of alter table statements to tweak the schema 
orderItemDao.executeRaw("ALTER TABLE `OrderItem` ADD COLUMN food_id INTEGER DEFAULT 0;"); 

내가 열을 추가 할 때 OrderItem에 테이블을 변경할 필요가 있다고 생각하지 않았다. 내가 선호하는 데이터베이스가 이미 생성되었으므로 테이블을 변경해야합니다. 나는 데이터베이스를 생성 한 후

감사