데이터베이스에서 원하는 자료 받아오기 : 쿼리
사용 예
public Cursor query (String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)
- table : 쿼리를 수행할 테이블 이름입니다.
- columns : 자료를 받아올 필드입니다. null을 입력하면 모든 필드를 반환합니다.
- selection : SQL의 "where" 구문에 해당하는 조건과 값을 입력합니다. 조건이 많은 경우, 조건의 값들을 ?로 대체한 후 selectionArgs에서 값을 지정해 줄 수 있습니다.
- selectionArgs : selection에서 ?로 지정했던 조건의 값들을 입력합니다.
- groupBy : SQL의 "group by" 구문에 해당합니다.
- having : groupBy를 지정했을 경우, 조건을 넣어줍니다.
- orderBy : 결과값의 정렬 방식을 지정합니다. null을 입력하면 주요 키를 기준으로 하여 오름차순 정렬을 수행합니다.
- limit : 결과값의 개수를 제한합니다.
사용 예
데이터베이스의 자료 조회하기 : 커서
주요 메서드
- moveToFirst() : 쿼리 결과 레코드 중 가장 처음에 위치한 레코드를 가리키도록 합니다.
- moveToNext() : 다음 레코드로 포인터를 이동합니다.
- moveToPrevioues() : 이전 레코드로 포인터를 이동합니다.
- getCount() : 쿼리 결과(레코드)의 개수를 반환합니다.
- getColumnIndexOrThrow(String) : 특정 필드의 인덱스 값을 반환하며, 필드가 존재하지 않을 경우 예외(Exception)을 발생시킵니다.
- getColumnName(int) : 특정 인덱스 값에 해당하는 필드 이름을 반환합니다.
- getColumnNames() : 필드 이름들을 String[] 형태로 반환합니다.
- moveToPosition(int) : 포인터를 특정 레코드로 이동시킵니다.
커서가 가리키고 있는 레코드의 데이터 받아오기
- moveToFirst() : 쿼리 결과 레코드 중 가장 처음에 위치한 레코드를 가리키도록 합니다.
- moveToNext() : 다음 레코드로 포인터를 이동합니다.
- moveToPrevioues() : 이전 레코드로 포인터를 이동합니다.
- getCount() : 쿼리 결과(레코드)의 개수를 반환합니다.
- getColumnIndexOrThrow(String) : 특정 필드의 인덱스 값을 반환하며, 필드가 존재하지 않을 경우 예외(Exception)을 발생시킵니다.
- getColumnName(int) : 특정 인덱스 값에 해당하는 필드 이름을 반환합니다.
- getColumnNames() : 필드 이름들을 String[] 형태로 반환합니다.
- moveToPosition(int) : 포인터를 특정 레코드로 이동시킵니다.
커서가 가리키고 있는 레코드의 데이터 받아오기
public byte[] getBlob (int columnIndex)
public double getDouble (int columnIndex)
public float getFloat (int columnIndex)
public int getInt (int columnIndex)
public short getShort (int columnIndex)
public String getString (int columnIndex)
커서가 가리키는 레코드에서 선택한 필드의 데이터를 지정된 형식으로 받아옵니다. columnIndex에는 데이터를 받아올 필드의 인덱스를 넣어줍니다.
사용 예
데이터베이스에 자료 입력하기 : ContentValues
public void put (String key, Integer value)
public void put (String key, Short value)
public void put (String key, byte[] value)
public void put (String key, Byte value)
public void put (String key, String value)
public void put (String key, Long value)
public void put (String key, Boolean value)
public void put (String key, Float value)
public void put (String key, Double value)
ContentValues 객체에 자료를 입력합니다.
- key : 필드명을 입력합니다.
- value : 값을 입력합니다.
사용 예
입력한 자료를 데이터베이스에 반영하기 : insert(), update()
public long insert (String table, String nullColumnnHack, ContentValues values)
입력된 자료를 테이블에 추가합니다
public int update (Stirng table, ContentValues values, String whereClaues, String[] whereArgs)
입력한 자료로 기존의 자료를 갱신합니다.
'프로그래밍 > Android' 카테고리의 다른 글
콘텐트 프로바이더 (0) | 2011.08.24 |
---|---|
SQLite3 - 데이터베이스 어댑터 (0) | 2011.08.23 |
알림 메시지 (0) | 2011.08.23 |
AlertDialog, ProgressDialog (0) | 2011.08.23 |
다이얼로그 (0) | 2011.08.22 |