출처 : http://www.dragoneye.co.kr/lecture/asp/ado2.asp
ADO객체활용에 들어가기 전에 ADO객체에 대해 전반적인 것을 살펴보자. 앞으로 Connection,Command,Recordset객체를 주로 이용하게 되는데 객체들의 이름만 보면 담당하는 기능이 다를 것 같은데 실제 이들 객체는 모두 SQL명명을 실행하고 그 결과를 가져올 수 있다.
아래는 이들 객체의 메소드와 속성을 살펴보고자 중요한 것만 정리한 것이다. 바쁘더라도 BOLD체만은 뭣에 쓰는 것인지 살펴봐야 한다. |
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의 버전 |
이 객체만 이용하여 연결,명령을 수행할 수 있다 .기초에서는 생략한다. 나중에 중급수준에서 저장프로시저를 사용할 때 한번 다뤄보기 바란다. 저장프로시저의 사용에 편리한 parameter 속성이 있다. |
|
1) 속성(Properties) |
|
ActiveConnection |
Command객체에서 사용하는 Connection객체 |
CommandText |
실행될 명령어를 나타내는 택스트(SQL/저장프로시저) |
CommandTimeout |
실행될 명령어를 위한 대기시간(초단위) 기본값은 30초 |
CommandType |
CommandText에 넣은 명령타입 지정 |
CommandTimeout |
실행될 명령어를 위한 대기시간(초단위) 기본값은 30초 |
Prepared |
명령어를 실행하기 전에 준비하거나 컴파일 여부를 지정 |
2) 메소드(Method) |
|
Execute |
CommandText에 넣은 명령을 실행 |
CreateParameters |
Parameters컬렉션에 새로운 Parameters객체 생성 |
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에 있는 자료를 직접 엑세스하는게 아니라 쿼리의 결과로 나온 메모리상의 가상테이블이라고 할 수 있는 이 레코드셋에 접근하여 자료를 다루는 것이다. 당연히 이 레코드셋에 담겨있지 않으면 접근할 수 없다. |
댓글 없음:
댓글 쓰기