설명
WillExecute 이벤트

WillExecute 이벤트는 질의가 수행되기 이전에 발생하는 이벤트이며, 다음과 같은 구문을 사용한다.

WillExecute (Source, CursorType, LockType, Options, adStatus, pCommand, pRecordset, pConnection)

인수 데이터 형식 설명
Source String SQL 문장 또는 저장 프로시저의 이름을 포함하는 문자열이다.
CursorType ADODB.CursorTypeEnum 생성될 Recordset 개체의 Cursor Type을 나타낸다. WillExecute 이벤트가 발생할 때, 이 매개 변수가 adOpenUnspecified로 설정되어 있으면 매개 변수를 변경할 수 없다.
LockType ADODB.LockTypeEnum 생성될 Recordset 개체의 Lock Type을 나타낸다. WillExecute 이벤트가 발생할 때, 이 매개 변수가 adLockUnspecified로 설정되어 있으면 매개 변수를 변경할 수 없다.
Options Long 명령을 실행할 때 또는 Recordset 개체를 생성할 때 사용된 옵션이며, Options 매개변수에 전달된 옵션 값을 나타낸다.
adStatus ADODB.EventStatusEnum EventStatusEnum 상태 값으로 이벤트를 발생시킨 작업이 성공하면 adStatusOK로 설정되고 작업이 실패하면 adStatusErrorsOccurred로 설정된다.
pCommand ADODB.Command 이 이벤트에 적용된 Command 개체를 나타낸다. Command 개체가 사용되지 않았다면 설정되지 않는다.
pRecordset ADODB.Recordset Execute 메서드에 의해서 생성된 Recordset 개체를 나타낸다. Action Query와 같이 반환 값이 없는 명령이 실행된 경우에는 Empty 값을 나타낸다.
pConnection ADODB.Connection 이벤트를 발생시킨 Connection 개체를 나타낸다.

이 이벤트의 프로시저 내에서 매개변수들은 명령이 실행되기 전에 변경될 수 있다. 이 이벤트는 사용자가 ConnectionString을 작성해서 작업할 수 있도록 지원하는 응용 프로그램에서 사용자의 접근을 통제하기 위해서 사용할 수 있다.

다음 코드는 사용자가 특정 테이블에 질의를 수행하는 것을 방지하는 예이다.

Private Sub adoCn_WillExecute(Source As String, _
      CursorType As ADODB.CursorTypeEnum, _
      LockType As ADODB.LockTypeEnum, Options As Long, _
      adStatus As ADODB.EventStatusEnum, ByVal pCommand As ADODB.Command, _
      ByVal pRecordset As ADODB.Recordset, ByVal pConnection As ADODB.Connection)

   If Source = "Authors" Then
      MsgBox "당신은 이 테이블에 접근할 수 없습니다."

      adStatus = adStatusCancel
   End If
End Sub

위의 예는 사용자가 Authors 테이블에 접근하는 것을 방지하는 예이다. 또한 ad-hoc 삽입이나 삭제와 같은 작업을 방지하기 위해서 이 이벤트를 응용할 수 있다

이 게시물을

공유하기

SEARCH

MENU NAVIGATION