본문 바로가기

IT/ASP

[ASP]ADO의 RecordSet 개체 나름대로 정리


RecordSet
1. CursorType

1) adOpenForwardOnly(0) : Forward-only cursor 기본 값, 단방향 읽기, 전진전용커서, 가장 빠름, 뒤로 이동 불가

2) adOpenKeyset(1) : 동적으로 레코드에 접근가능하나 추가, 삭제한 데이터는 볼 수 없고 오직 변경된 내용에 대해서만
확인가능, keyset cursor 레코드셋을 열었을때  이후 추가된 레코드만 보여 짐

3) adOpenDynamic(2) : 마음대로 이동가능할 뿐 아니라 레코드 값을 변경, 삭제했을경우 변경된 내용 확인 가능
( 현재의 데이터 상태를 볼 수 있음), 리소스를 많이 먹어 잘 사용하지 않음

4) adOpenStatic(3) : 전진과 후진 가능, MoveNext뿐 아니라 MovePrevious, Move -1 가능, 양방향 읽기


2. LockType

1) adLockReadOnly(1) : 업데이트 불가능한 레코드셋, 오직 읽을 수만 있다.

2) adLockPessimistic(2) : 레코드셋을 통한 업데이트가능, 수정한 순간 잠김상태가 됨, Update를 호출하면 잠김이 풀림

3) adLockOptimistic(3) : 레코드셋을 통해 업데이트 가능하나 수정한 순간 잠김상태에 들어가지 않고 수정의 내용이
실제로 업데이트되는 순간 잠금에 들어감

4) adLockBatchOptimistic(4) : 여러개의 레코드의 내용을 업데이트 시킬 때 사용, 여러개의 레코드가 실제로
업데이트 될 경우 잠금을 걸게한다.

3. 레코드셋을 통한 입력
SQL = "Select titles, type, price, royalty from titles"
Set Rs = Server.createObject("ADODB.RecordSet")
with Rs
 .Open SQL, strConnect, adOpenStatic, adLockPessimistic
 .Addnew
 .Fields("titles") = "test"
 .Fields("type") = "test"
 .Fields("price") = "test"
 .Fields("royalty") = 30
 .Update
 .Close
End Width

Set Rs = Nothing

4. 레코드셋을 통한 변경

SQL = "Select titles, type, price, royalty from titles where id = 3"

Set Rs = Server.createObject("ADODB.RecordSet")
with Rs
 .Open SQL, strConnect, adOpenStatic, adLockPessimistic
 .Fields("titles") = "test"
 .UpdateBatch
 .Close
End Width

Set Rs = Nothing

5. 레코드셋을 통한 삭제(여러개를 삭제할 경우 Loop 필요)

SQL = "Select titles, type, price, royalty from titles where id = 3"

Set Rs = Server.createObject("ADODB.RecordSet")
with Rs
 .Open SQL, strConnect, adOpenStatic, adLockPessimistic
 .Fields("titles") = "test"
 .Delete
 .Close
End Width

Set Rs = Nothing


출처 :
http://blog.naver.com/swucs

'IT > ASP' 카테고리의 다른 글

[ASP] 라디오 버튼 사용하기.  (0) 2011.10.04
[ASP] 상대경로  (0) 2011.09.30
[ASP] function과 sub의 차이점  (0) 2011.09.30
[ASP] 함수 사용법  (0) 2011.09.30
[ASP] asp에서 JavsScript / JavsScript에서 asp  (0) 2011.09.29