CursorType 및 상수

Posted at 2006. 11. 1. 09:33 | Posted in 프로그래밍/ASP, Javascript


CursorType 및 상수

앞에 나온 속성중에서 CursorType 및 상수에 대해 알아본다

앞에서 레코드셋 즉, 데이타를 다루는 단위가 레코드라고 했다. 그러면 무엇으로 현재레코드를 알 수 있을까? 바로 레코드포인트라는 것이 있어서 항상 현재레코드를 가리키도록 되어 있다.

우리는 이 레코드포인트를 이동하면서 필요한 데이타 작업을 할 수 있다. 이때 레코드포인트를 이동시켜 주는 것이 Cursor이다. 윈도우나 워드에서 화면/메뉴를 이동할 때 쓰는 Cursor와 비슷하다.

이는 레코드셋을 열기 전에 지정되어야 하며 4가지가 있다. 지정하지 않으면 ForwardOnly(0)이 지정된다.

* 적용방법 : 보통은 생략하든지 adOpenForwardOnly를 사용하면 되고 목록보기에서는 페이지관련 속성(pagesize,pagecount,absolutepage)을 사용할 수 있는 adOpenKeyset, adOpenStatic 을 사용하면 된다.


커서타입 상수 내 용
adOpenForwardOnly 0 디폴트 타입,읽기만 가능,가장 빠르다,전방향이동만 가능
순서대로 한번씩 참조할 경우 편리하다
adOpenKeyset 1 읽기/쓰기 가능,양방향 이동 가능, 다른 사용자 추가,삭제는 볼 수 없다
adOpenDynamic 2 읽기/쓰기 가능,모든 이동 가능,다른 사용자 추가,삭제,수정을 볼 수 있다,성능상 많은 부담이 있다
adOpenStatic 3 읽기/쓰기 가능,양방향 이동 가능, 본인외 다른 레코드셋 추가,삭제는 볼 수 없다

사.용.방.법
1. 상수값을 사용하는 방법  

Set Rs=Server.CreateObject("ADODB.Recordset")
ConnString= "Provider=Microsoft .Jet.OLEDB.4.0;Data Source=d:/test/member.mdb;"
SQL="Selcect* from 테이블이름"
Rs.Open SQL, ConnString, 3

또는

Set Rs=Server.CreateObject("ADODB.Recordset")
CursorType=3
ConnString= "Provider=Microsoft .Jet.OLEDB.4.0;Data Source=d:/test/member.mdb;"
SQL="Selcect* from 테이블이름"
Rs.Open SQL, ConnString


2. 상수를 사용하는 방법
ADO상수를 사용하려면 (즉,adOpenForwardOnly와 같이)
상수를 정의해둔 상수화일을 Server Side Include로 adovbs.inc화일을 포함하여야 한다

<!-- #include file="폴더\adovbs.inc" -->
..............
Set Rs=Server.CreateObject("ADODB.Recordset")
ConnString= "Provider=Microsoft .Jet.OLEDB.4.0;Data Source=d:/test/member.mdb;"
SQL="Selcect* from 테이블이름"
Rs.Open SQL, ConnString, adOpenStatic

또는

<!-- #include file="common\adovbs.inc" -->
.............
Set Rs=Server.CreateObject("ADODB.Recordset")
CursorType="adOpenStatic"
ConnString= "Provider=Microsoft .Jet.OLEDB.4.0;Data Source=d:/test/member.mdb;"
SQL="Selcect* from 테이블이름"
Rs.Open SQL, ConnString



*만약 레코드셋 객체를 통해 수정/삭제/등록을 하고자 하면 반드시 레코드셋에 대한 락 수준을 지정을 해야한다.
(ADO연습 데이타 등록 부분 - 레코드셋 객체를 통한 데이타 등록 참고)

락타입 상수 내 용
adLockReadOnly 1 읽기전용(수정불가)
adLockPessimistic 2 레코드단위, 편집 시작 순간부터
adLockOptimistic 3 레코드 단위, update 메서드 순간
adLockBatchOptimistic 4 배치갱신모드 요구


ADO에서 사용하는 상수는 이외에도 많이 있다. 이 상수값들은 파일하나로 정의되었으며
위치는 c:\program files\common files\system\ado아래에 있다.

사용을 위해 웹사이트(가상디렉토리)내에 폴더를 만들어 복사해서 두고 쓰면 된다.




//