Notepad라는 예제를 보고 있습니다;
synopsis라는 필드를 더 만들고 싶습니다.
그런데 자꾸 fetchAllNotes() 에서 오류가 나요 ㅠㅠ
public Cursor fetchAllNotes(){
return mDb.query(DATABASE_TABLE, new String[]{KEY_ROWID, KEY_TITLE,KEY_BODY, KEY_SYNOPSIS},
null,null,null,null,null);
}
그리고 db파일을 열어봐도 synopsis라는 필드는 생성되지도 않네요 ㅠㅠ
테이블에 하나의 필드를 더 추가하려면 어떻게 해야하나요??.
밑줄 친 부분이 기본 Notepad에서 추가한 부분입니다. ㅠㅜ
public class MovieINDbAdapter {
//데이터 베이스 이름 :data
//테이블 이름: notes
//필드이름:_id, title, body, synopsis
public static final String KEY_TITLE = "title";
public static final String KEY_BODY = "body";
public static final String KEY_SYNOPSIS = "synopsis";
public static final String KEY_ROWID = "_id";
private static final String TAG = "NotesDbAdapter";
private DatabaseHelper mDbHelper;
private SQLiteDatabase mDb;
private static final String DATABASE_CREATE =
"create table notes (_id integer primary key autoincrement,"
+"title text not null, body text not null, synopsis text not null);";
private static final String DATABASE_NAME = "data";
private static final String DATABASE_TABLE = "notes";
private static final int DATABASE_VERSION =2;
private final Context mCtx;
private static class DatabaseHelper extends SQLiteOpenHelper{
DatabaseHelper(Context context){
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db){
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
db.execSQL("DROP TABLE IF EXISTS notes");
onCreate(db);
}
}
public MovieINDbAdapter(Context ctx){
this.mCtx = ctx;
}
public MovieINDbAdapter open() throws SQLException{
//mDb 선언
mDbHelper = new DatabaseHelper(mCtx);
mDb = mDbHelper. getWritableDatabase();
//위를 한줄로하면! mDb = new DatabaseHelper(mCtx).getWritableDatabase();
return this;
}
public void close(){
mDbHelper.close();
}
public long createNote(String title, String body, String synopsis){
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_TITLE, title);
initialValues.put(KEY_BODY, body);
initialValues.put(KEY_SYNOPSIS, synopsis);
return mDb.insert(DATABASE_TABLE, null, initialValues);
}
public boolean deleteNote(long rowId){
return mDb.delete(DATABASE_TABLE, KEY_ROWID + "="+rowId, null)>0;
}
public Cursor fetchAllNotes(){
return mDb.query(DATABASE_TABLE, new String[]{KEY_ROWID, KEY_TITLE,KEY_BODY, KEY_SYNOPSIS},
null,null,null,null,null);
}
public Cursor fetchNote(long rowId) throws SQLException{
Cursor mCursor =
mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE,KEY_BODY, KEY_SYNOPSIS},
KEY_ROWID + "="+rowId,null,null,null,null,null);
if(mCursor !=null){
mCursor.moveToFirst();
}
return mCursor;
}
public boolean updateNote(long rowId, String title, String body, String synopsis){
ContentValues args = new ContentValues();
args.put(KEY_TITLE, title);
args.put(KEY_BODY, body);
args.put(KEY_SYNOPSIS, synopsis);
return mDb.update(DATABASE_TABLE, args, KEY_ROWID+"="+rowId, null)>0;
}
}



