Cursor(커서)

CODEDRAGON Development/Android

반응형


 

 

Cursor(커서)

·       데이터베이스나 내용 제공자(Content Provider) 데이터를 쿼리하여 가져올 사용됩니다.

·       DB에서 가져온 데이터를 쉽게 처리하기 위해서 Cursor 라는 인터페이스를 제공해 줍니다.

·       데이터베이스에서 커서는 특정 레코드를 가리키는 역할을 합니다.(결과값을 가지고 있는 포인터)

·       Select쿼리문으로 데이터를 읽으면 Cursor 이용하여 데이터의 위치를 가리키고 ArrayList 같은 배열에 데이터베이스에서 읽은 데이터를 저장해주는 역할을 하는 클래스입니다.

·       , Cursor 기본적으로 DataBase에서 값을 가져와서 마치 실제 Table (Row), (Row) 참조하는 것처럼 사용 있게 줍니다.

·       선택된 (row) 집합 객체입니다.

·       개발자는 마치 (Row) 가지고 (Row) 있는 데이터를 가져다가 쓰는 것처럼 사용하면 되는 편의성을 제공받게 됩니다.

 

 

 

 

 

 

커서의 활용

메소드

설명

moveToFirst()

가장 처음에 위치한 레코드로 커서를 이동

moveToNext()

커서를 다음 행으로 옮김

moveToLast()

가장 마지막에 위치한 레코드로 커서를 이동

moveToPrevious()

이전 레코드로 커서를 이동

moveToPosition(position)

특정 레코드로 커서를 이동

getPosition()

커서가 현재 가리키고 있는 위치를 반환

getCount()

전체 결과 건수가 개인지 확인

getColumnCount()

컬럼들의 전체 개수를 반환

getColumnIndex()

특정 컬럼 번호 조회

getColumnName(int columnIndex)

특정 인덱스 값에 해당하는 컬럼 이름을 반환

getColumnNames()

결과에 포함된 전체 컬럼 이름

isFirst()

커서가 첫번째 레코드에 위치하는지를 반환

isLast()

커서가 마지막 레코드에 위치하는지를 반환

isBeforeFirst()

커서가 첫번째 레코드의 앞에 위치하는지를 반환

isAfterLast()

커서가 마지막 레코드의 뒤에 위치하는지를 반환

requery()

쿼리를 재실행

close()

커서가 확보한 자원을 모두 해제

 

 

 

Cursor에서 데이터 가져오기

커서에서 데이터를 받아올 때에는,  get<데이터타입>(필드 인덱스) 메소드를 사용합니다.

 

메소드

설명

get<데이터타입>(필드 인덱스)

메소드 형식

getString(int index)

getInt(int index)

getLong(int index)

getBoolean(int index)

...

DB 테이블의 컬럼값 반환