내 블로그 목록

금요일, 9월 04, 2009

ADO 객체 속성과 메소드

출처 : http://www.dragoneye.co.kr/lecture/asp/ado2.asp

 

ADO객체활용에 들어가기 전에 ADO객체에 대해 전반적인 것을 살펴보자.
앞으로 Connection,Command,Recordset객체를 주로 이용하게 되는데 객체들의 이름만 보면 담당하는 기능이 다를 것 같은데 실제 이들 객체는 모두 SQL명명을 실행하고 그 결과를 가져올 수 있다.

아래는 이들 객체의 메소드와 속성을 살펴보고자 중요한 것만 정리한 것이다. 바쁘더라도 BOLD체만은 뭣에 쓰는 것인지 살펴봐야 한다.


Connection 객체

1. 데이타소스에 연결하기 위해 사용하지만 연결로 끝나는 것이 아니라 SQL명령을 실행한다. Select문일 경우 그 결과로 레코드셋을 가져올 수 있다

2. 서로다른 SQL문을 여러번 실행할 경우 한번 생성된 Connection객체를 넘겨주는 것이 더 효율적이다.

*입력(Insert쿼리), 수정(Update쿼리), 삭제(Delete쿼리), 조회(Select쿼리)에 사용.

속성과 메소드
1) 연결및 실행  
ConnectionString 데이타소스연결시 필요한 정보
Open 데이타소스에 연결을 한다
Close 기존 열린 연결을 종료한다
Execute SQL문,저장프로시저를 실행한다
2) 트랜잭션  
Attributes 기존 트랜잭션의 종료후 새 트랜잭션의 시작여부 제어 메서드
BeginTrans 새 트랜잭션 시작
CommitTrans 수정내용을 저장하고 트랜잭션 종료
RollbackTrans 수정내용을 취소하고 트랜잭션 종료
3) 기타  
CommandTimeout 명령을 시도한 다음 지연시간(초단위) 기본값은 30초
ConnectionTimeout 연결을 시도한 다음 지연시간(초단위) 기본값은 30초
Mode 읽기 또는 읽기-쓰기 등 연결의 허용 범위
Provider 연결의 제공자
DefaultDatabase 접속하려는 D/B가 여럿일 경우 기본으로 하는 D/B 지정
Version 사용하고 있는 ADO의 버전

Command 객체
이 객체만 이용하여 연결,명령을 수행할 수 있다 .기초에서는 생략한다.
나중에 중급수준에서 저장프로시저를 사용할 때 한번 다뤄보기 바란다.
저장프로시저의 사용에 편리한 parameter 속성이 있다.
Properties과 Method
1) 속성(Properties)  
ActiveConnection Command객체에서 사용하는 Connection객체
CommandText 실행될 명령어를 나타내는 택스트(SQL/저장프로시저)
CommandTimeout 실행될 명령어를 위한 대기시간(초단위) 기본값은 30초
CommandType CommandText에 넣은 명령타입 지정
CommandTimeout 실행될 명령어를 위한 대기시간(초단위) 기본값은 30초
Prepared 명령어를 실행하기 전에 준비하거나 컴파일 여부를 지정
2) 메소드(Method)  
Execute CommandText에 넣은 명령을 실행
CreateParameters Parameters컬렉션에 새로운 Parameters객체 생성

Recordset 객체

1. ASP에서 데이타베이스를 다루는 대부분을 차지하는 것이 Recordset객체이며,이는 SQL문 실행결과 생성된 레코드셋을 다루는 객체이다.

2. 레코드셋은 table형태이며 실제 data를 다룰 때는 레코드 단위로 처리하게 되며,

3. 레코드 단위 처리를 위해 객체 내부적으로 '레코드포인트'라는 개념을 갖고 있어 이 포인트를 이동하면서 모든 레코드를 읽을 수 있는 것이다.

속성과 메소드
1) 열기.닫기 메소드  
Open 레코드셋 열기
Close 레코드셋 닫기
2) 생성.삭제,수정  
AddNew 기존 트랜잭션의 종료후 새 트랜잭션의 시작여부 제어 메서드
Delete 새 트랜잭션 시작
Update 수정내용을 저장하고 트랜잭션 종료
3) 이동 메소드  
Move 특정레코드로 이동
MoveFirst 처음 레코드로 이동
MoveLast 마지막 레코드로 이동
MovePrevious 이전 레코드로 이동
MoveNext 다음 레코드로 이동
3) 프로퍼티  
AbsolutePage 현재 레코드가 있는 페이지
AbsolutePosition 현재 레코드의 순서 위치
ActiveConnection 현재 레코드셋이 사용하고 잇는 Connection객체
BOF 레코드셋의 시작, 현재 레코드위치가 이 위치이면 True
EOF 레코드셋의 끝, 현재 레코드위치가 이 위치이면 True
CursorType 레코드셋을 열 때 사용할 커서의 종류
LockType 편집중 Lock타입을 지정
PageSize 한페이지에 나타낼 레코드의 수를 지정
PageCount 레코드셋에 있는 데이타의 페이지 수
RecordCount 레코드셋에 있는 레코드의 수


* 먼저 Connection객체와 recordset객체를 익히도록...

* 레코드셋(Recordset)이란?

레코드셋은 데이타 저장소로 물리적 DB의 table에 있는 자료를 직접 엑세스하는게 아니라 쿼리의 결과로 나온 메모리상의 가상테이블이라고 할 수 있는 이 레코드셋에 접근하여 자료를 다루는 것이다. 당연히 이 레코드셋에 담겨있지 않으면 접근할 수 없다.

댓글 없음: