안드로이드 SQLite DB 관련으로 알아두어야 할 사항이다.
rawQuery 를 이용하는 방법과 query를 이용하는 방법의 차이점이다.
rawQuery() Example
rawQuery() 메소드에 SELECT 구문을 넘겨 주기만 하면 된다.
인자로 idx 를 받아서 Where 조건문으로 일치하는 데이터 칼럼을 전부 가져오는 코드다.
SQLiteDatabase db = getReadableDatabase(); // 읽기 가능한 데이터베이스 Cursor cursor = db.rawQuery("select * from myTable where _idx = ?", new String[] { idx }); |
SQLiteDatabase db = getReadableDatabase(); // 읽기 가능한 데이터베이스 String sql = "SELECT idx, id, pw, name FROM member"; Cursor cursor = db.rawQuery(sql, null); |
query() Example
query() 메소드는 SELECT 구문의 각 부분을 쪼개 각 인자로 넘겨받고, 최종적으로는 SELECT문을 생성해 실행한다.
Cursor cursor = db.query(DB_TABLE, |
query() 가 받아서 처리하는 인자의 순서 "name=?" String[] params ={"홍길동"}; |
db.query(DBTable,columns,whereclause,whereargs,null,null,null); |
String query = |
SQLiteOpenHelper 클래스에서 제공하는 ContentVales 객체를 이용하여 DB를 update 하는 방법이다.
public void update(Integer idx, String name, String mobileNO, String officeNO) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(Column_Name, name);
cv.put(Column_mobileNO, mobileNO);
cv.put(Column_officeNO, officeNO);
db.update(TABLE_NAME, cv, "idx = ? ", new String[]{Integer.toString(idx)});
}
이 코드를 표준 SQL 문으로 입력한다면 아래와 같다.
public void update(Integer idx, String name, String mobileNO, String officeNO) {
SQLiteDatabase db = this.getWritableDatabase();
String sql ="Update "+TABLE_NAME+" SET name='"+name+"' mobileNO='"+mobileNO+"' officeNO='"+officeNO+"' where idx="+idx+"";
db.execSQL(sql);
}
'안드로이드 > Android SQLite' 카테고리의 다른 글
안드로이드 메모 어플 소스 RecyclerView + SQLite 활용 (0) | 2019.09.26 |
---|---|
android 메모 어플 소스 ListView + SQLite 활용 (0) | 2019.09.24 |
안드로이드 HashMap 예제 - SQLite (0) | 2017.07.18 |
Android Studio SQLite - SQLiteOpenHelper 를 사용하는 방법 (0) | 2017.05.29 |
안드로이드 Preference (환경설정 저장) (0) | 2016.06.25 |