ADO Recordset 객체
- 이전 페이지 ADO Record
- 다음 페이지 ADO Stream
예제
- GetRows
- 이 예제에서 GetRows 메서드의 사용 방법을 보여줍니다.
Recordset 객체
ADO Recordset 객체는 데이터베이스 테이블에서 가져온 레코드 셋을 포함합니다. Recordset 객체는 레코드와 열(필드)으로 구성됩니다.
ADO에서는 이 객체가 가장 중요하며, 데이터베이스 데이터를操作하는 데 가장 자주 사용되는 객체입니다.
ProgID
set objRecordset=Server.CreateObject("ADODB.recordset")
Recordset을 처음으로 엽니다면, 현재 레코드 포인터는 첫 번째 레코드를 가리키며 BOF와 EOF 속성은 False입니다. 레코드가 없다면 BOF와 EOF 속성은 True입니다.
Recordset 객체는 두 가지 업데이트 유형을 지원합니다:
- 立即更新 - Update 메서드를 호출하면 모든 변경 사항이 즉시 데이터베이스에 기록됩니다.
- 批量更新 - 프로바이더가 여러 변경 사항을 캐시에 저장한 후, UpdateBatch 메서드를 사용하여 이러한 변경 사항을 데이터베이스로 전송합니다.
ADO에서는 4가지 다른 커서(포인터) 유형을 정의했습니다:
- 동적 커서 - 다른 사용자가 추가, 변경, 삭제한 내용을 볼 수 있습니다.
- 키셋 커서 - 동적 커서와 유사하지만, 다른 사용자가 추가한 내용을 볼 수 없으며, 다른 사용자가 삭제한 기록에 접근을 차단합니다. 다른 사용자가 데이터를 변경한 내용은 여전히 보여집니다.
- 정적 커서 - 데이터를 검색하거나 보고서를 생성하는 데 사용할 수 있는 기록 집합의 정적 복사본을 제공합니다. 또한, 다른 사용자가 한 추가, 변경, 제거는 보이지 않습니다. 클라이언트 Recordset 객체를 열 때, 이는 허용되는 유일한 커서 유형입니다.
- 단방향 커서 - Recordset에서 전진만 가능합니다. 또한, 다른 사용자가 한 추가, 변경, 제거는 보이지 않습니다.
CursorType 속성이나 Open 메서드의 CursorType 매개변수를 통해 커서 유형을 설정할 수 있습니다.
주의사항:모든 제공자(providers)가 Recordset 객체의 모든 메서드와 속성을 지원하지 않습니다.
속성
속성 | 설명 |
---|---|
AbsolutePage | Recordset 객체 중 페이지 번호를 지정할 수 있는 값을 설정하거나 반환합니다. |
AbsolutePosition | Recordset 객체 중 현재 기록의 순서 위치(숫자 위치)를 지정할 수 있는 값을 설정하거나 반환합니다. |
ActiveCommand | Recordset 객체와 관련된 Command 객체를 반환합니다. |
ActiveConnection | 연결이 닫혀 있으면 연결 정의를 설정하거나 반환하고, 연결이 열려 있으면 현재 Connection 객체를 설정하거나 반환합니다. |
BOF | 현재 기록의 위치가 첫 번째 기록 이전이라면 true를 반환하고, 그렇지 않으면 false를 반환합니다. |
Bookmark | 현재 기록의 위치를 저장하는 북마크를 설정하거나 반환합니다. |
CacheSize | 缓存的 기록의 수를 설정하거나 반환합니다. |
CursorLocation | 커서 서비스의 위치를 설정하거나 반환합니다. |
CursorType | Recordset 객체의 커서 유형을 설정하거나 반환합니다. |
DataMember | DataSource 속성에 참조하는 객체에서 검색할 데이터 멤버의 이름을 설정하거나 반환합니다. |
DataSource | Recordset 객체로 표시되는 데이터를 포함하는 객체를 지정합니다. |
EditMode | 현재 기록의 편집 상태를 반환합니다. |
EOF | 현재 기록의 위치가 마지막 기록 이후라면 true를 반환하고, 그렇지 않으면 false를 반환합니다. |
Filter | Recordset 객체 중 데이터에 대한 필터를 반환합니다. |
Index | Recordset 객체의 현재 인덱스의 이름을 설정하거나 반환합니다. |
LockType | Recordset의 일련의 기록을 편집할 때, 잠금 유형 값을 지정할 수 있습니다. |
MarshalOptions | 서버로 반환되는 기록을 지정하는 값을 설정하거나 반환합니다. |
MaxRecords | 쿼리로부터 Recordset 객체로 반환할 수 있는 최대 레코드 수를 설정하거나 반환합니다. |
PageCount | Recordset 객체 중의 데이터 페이지 수를 반환합니다. |
PageSize | Recordset 객체의 하나의 페이지에 허용할 수 있는 최대 레코드 수를 설정하거나 반환합니다. |
RecordCount | Recordset 객체 중의 레코드 수를 반환합니다. |
Sort | Recordset 정렬 기준으로 사용할 필드 이름을 설정하거나 반환합니다. |
Source | 문자열 값을 설정하거나 Command 객체 참조를 반환하거나 Recordset 객체의 데이터 소스를 설명할 수 있는 문자열 값을 반환합니다. |
State | Recordset 객체가 열려 있거나 닫혀 있거나 연결 중이거나 실행 중이거나 데이터를 가져오고 있는지 설명할 수 있는 값을 반환합니다. |
Status | 批量更新나 다른 대규모 작업의 현재 레코드 상태에 대한 정보를 반환합니다. |
StayInSync | 부모 레코드 위치가 변경될 때 자식 레코드 참조가 변경되는지 설정하거나 반환합니다. |
메서드
메서드 | 설명 |
---|---|
AddNew | 새 레코드를 생성합니다. |
Cancel | 한 번의 실행을 취소합니다. |
CancelBatch | 批量更新를 취소합니다. |
CancelUpdate | Recordset 객체의 하나의 레코드에 대한 변경을 취소합니다. |
Clone | 기존 Recordset의 복제본을 생성합니다. |
Close | Recordset을 닫습니다. |
CompareBookmarks | 두 가지 북마크를 비교합니다. |
Delete | 하나의 레코드나 여러 레코드를 지우습니다. |
Find | 지정된 조건을 만족하는 Recordset 중 하나의 레코드를 검색합니다. |
GetRows | 多条记录从一个 Recordset 객체를 두차원 배열에 복사합니다. |
GetString | Recordset을 문자열로 반환합니다. |
Move | Recordset 객체에서 레코드 포인터를 이동합니다. |
MoveFirst | 레코드 포인터를 첫 번째 레코드로 이동합니다. |
MoveLast | 레코드 포인터를 마지막 레코드로 이동합니다. |
MoveNext | 레코드 포인터를 다음 레코드로 이동합니다. |
MovePrevious | 레코드 포인터를 이전 레코드로 이동합니다. |
NextRecordset | 현재 Recordset 객체를 지우고 다음 Recordset을 반환하는 일련의 명령을 실행하여 클리어합니다. |
Open | 데이터베이스 요소를 열어, 이 요소는 테이블의 레코드, 쿼리 결과 또는 저장된 Recordset에 대한 접근을 제공할 수 있습니다. |
Requery | Recordset 객체에 있는 데이터를 다시 실행된 쿼리를 통해 업데이트합니다. |
Resync | 현재 Recordset에서의 데이터를 원래 데이터베이스에서 새로 고침합니다. |
Save | Recordset 객체를 파일이나 Stream 객체에 저장합니다. |
Seek | Recordset의 인덱스를 검색하여 지정된 값과 일치하는 행을 빠르게 위치시키고 현재 행으로 만듭니다. |
Supports | Boolean 값을 반환하여 Recordset 객체가 특정 유형의 기능을 지원하는지 정의합니다. |
Update | Recordset 객체의 한 개의 단일 레코드에 대한 모든 변경사항을 저장합니다. |
UpdateBatch | 모든 Recordset에서의 변경사항을 데이터베이스에 저장합니다. 배치 업데이트 모드에서 사용하십시오. |
이벤트
주의: VBScript 또는 JScript를 사용하여 이벤트를 처리할 수 없습니다. (이벤트를 처리할 수 있는 언어는 Visual Basic, Visual C++, 및 Visual J++ 언어만 있습니다).
이벤트 | 설명 |
---|---|
EndOfRecordset | Recordset의 끝을 넘어서려고 시도할 때 발생합니다. |
FetchComplete | 비동기 작업에서 모든 레코드가 읽혀진 후에 발생합니다. |
FetchProgress | 비동기 작업 중에 정기적으로 발생하여 얼마나 많은 레코드가 읽혔는지 보고합니다. |
FieldChangeComplete | Field 객체의 값이 변경되면 발생합니다. |
MoveComplete | Recordset에서 현재 위치가 변경된 후에 발생합니다. |
RecordChangeComplete | 한 개의 레코드가 변경된 후에 발생합니다. |
RecordsetChangeComplete | Recordset이 변경된 후에 발생합니다. |
WillChangeField | Field 객체의 값이 변경되기 전에 발생합니다 |
WillChangeRecord | 한 개의 레코드가 변경되기 전에 발생합니다. |
WillChangeRecordset | Recordset이 변경되기 전에 발생합니다. |
WillMove | Recordset에서 현재 위치가 변경되기 전에 발생합니다. |
집합
집합 | 설명 |
---|---|
Fields | 이 Recordset 객체에서 Field 객체의 수를 나타냅니다. |
Properties | 모든 Recordset 객체의 Property 객체를 포함합니다. |
Fields 집합의 속성
속성 | 설명 |
---|---|
Count |
fields 집합에서 항목의 수를 반환합니다. 0에서 시작합니다. 예제: countfields = rs.Fields.Count |
Item(named_item/number) |
fields 집합에서 특정한 항목을 반환합니다. 예제: itemfields = rs.Fields.Item(1) 또는 itemfields = rs.Fields.Item("Name") |
Properties 집합의 속성
속성 | 설명 |
---|---|
Count |
properties 집합에서 항목의 수를 반환합니다. 0에서 시작합니다. 예제: countprop = rs.Properties.Count |
Item(named_item/number) |
properties 집합에서 특정한 항목을 반환합니다. 예제: itemprop = rs.Properties.Item(1) 또는 itemprop = rs.Properties.Item("Name") |
- 이전 페이지 ADO Record
- 다음 페이지 ADO Stream