db.execSQL("CREATE TABLE " + Diary.TABLE_NAME + " ( "
+ Diary.DIARY_DATE + "DATE PRIMARY KEY,"
+ Diary.DIARY_TITLE + "TEXT, "
+ Diary.PHOTO_URI + "TEXT, "
+ Diary.DIARY_CONTENT + "TEXT, "
+ Diary.BG_ID + "INTEGER"
+ ");");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
Log.i("DiaryDB", "Upgrading database from version " + oldVersion + " to "
+ newVersion + ", dropping all tables");
db.execSQL("DROP TABLE IF EXISTS" + Diary.TABLE_NAME);
onCreate(db);
}
@Override
public void onOpen(SQLiteDatabase db){
super.onOpen(db);
}
}
이렇게 디비를 생성해줬습니다.
private void addDiaryRecord(DiaryRecord newRecord) {
// TODO Auto-generated method stub
mDB.beginTransaction();
try {
ContentValues DiaryAdd = new ContentValues();
DiaryAdd.put(Diary.DIARY_DATE, strDate);
DiaryAdd.put(Diary.DIARY_TITLE, strTitle);
DiaryAdd.put(Diary.PHOTO_URI, strPhotoUriPath);
DiaryAdd.put(Diary.DIARY_CONTENT, strContent);
DiaryAdd.put(Diary.BG_ID, iBgId);
mDB.insert(Diary.TABLE_NAME, Diary.DIARY_DATE, DiaryAdd);
mDB.setTransactionSuccessful();
} finally {
mDB.endTransaction();
}
디비에 저장하기 위해서 코딩을 했는데
10-11 15:30:12.483: ERROR/Database(12394): android.database.sqlite.SQLiteException: table table_diary has no column named photo_uri: , while compiling: INSERT INTO table_diary(photo_uri, bg_id, diary_content, diary_date, diary_title) VALUES(?, ?, ?, ?, ?);
이러한 에러로 인해 저장이 안됍니다. 문제가 뭘까요............... 답변 좀 부탁드려요..ㅡㅜ
Diary.DIARY_DATE + "DATE PRIMARY KEY,"
이렇게 되어있는데요
Diary.DIARY_DATE + " DATE PRIMARY KEY,"
이런식으로 다 바꾸셔야 합니다.
"와 Date 사이에 공백 꼭 넣으셔야 합니다.