마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

데이터베이스 질문!! 1-1

0 추천

글씨 제한이 있어서 글을 두번 쓰는 점 죄송합니다,ㅜㅜ

 

 

public class DbAdapter extends SQLiteOpenHelper {
    private static final String DB_NAME = "promise2.db";
    private static final int VERSION = 1;
    private static final String ID = "_id";
    private static final String MEETING = "meeting";
    private static final String TIME = "time";
    private static final String MEMO = "memo";

    private static final String TABLE_NAME = "promise";
    private static final String CREATE_TABLE =
        "CREATE TABLE "
    + TABLE_NAME + "("
    + ID + " integer primary key autoincrement, "
    + MEETING + " text not null, "
    + TIME + " text not null, "
    + MEMO + " text not null )";

    private SQLiteDatabase db;

    public DbAdapter(Context context) {
        super(context, DB_NAME, null, VERSION);
        db = this.getWritableDatabase();
    }

    @Override
    public synchronized void close() {
        db.close();
        super.close();
    }

    @Override
    protected void finalize() throws Throwable {
        close();
        super.finalize();
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
        onCreate(db);
    }

    // create
    public boolean insertInfo(String meeting, String time, String memo) {
        ContentValues cv = new ContentValues();
        cv.put(MEETING, meeting);
        cv.put(TIME, time);
        cv.put(MEMO, memo);
        return db.insert(TABLE_NAME,null,null) != -1;

    }

    // read
    public ArrayList<Info> getAllInfo() {
        ArrayList<Info> info = new ArrayList<Info>();
        Cursor c = db.query(TABLE_NAME,
          new String[] {ID, MEETING, TIME, MEMO}, null, null,null,null, ID + " DESC");

        if (c.moveToFirst()) {
            final int indexId = c.getColumnIndex(ID);
            final int indexMeeting = c.getColumnIndex(MEETING);
            final int indexTime = c.getColumnIndex(TIME);
            final int indexMemo = c.getColumnIndex(MEMO);

            do {
                int id = c.getInt(indexId);
                String meeting = c.getString(indexMeeting);
                String time = c.getString(indexTime);
                String memo = c.getString(indexMemo);
                info.add(new Info(id, meeting, time, memo));
            } while (c.moveToNext());
        }
        c.close();

        return info;
    }

    // update
    public boolean updateInfo(Info i) {
        ContentValues cv = new ContentValues();
        cv.put(MEETING, i.getMeeting());
        cv.put(TIME, i.getTime());
        cv.put(MEMO, i.getMemo());
        String[] params = new String[] { Integer.toString(i.getId()) };
        int result = db.update(TABLE_NAME, cv, ID + "=?", params);
        return result > 0;
    }

    // delete
    public boolean deleteInfo(int id) {
        String[] params = new String[] { Integer.toString(id) };
        int result = db.delete(TABLE_NAME, ID + "=?", params);
        return result > 0;
    }
   
    public boolean deleteAll() {
        int result=db.delete(TABLE_NAME, null, null);
        return result > 0;
     }
   
    }

 

 

 

 

parkcm1989 (390 포인트) 님이 2013년 11월 7일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...