ASP 에서 저장 프로 세 스 작성 입문 전체 접촉 1/5 페이지

ASP 및 저장 프로시저(Stored) Procedures)의 글 은 적지 않 지만,나 는 작가 들 이 진정 으로 실천 한 적 이 있 는 지 의심스럽다.나 는 초학 때 대량의 관련 자 료 를 찾 아 보 았 는데,그 중에서 제 공 된 많은 방법 들 이 실제 적 으로 조작 되 는 것 이 결코 그런 일이 아니 라 는 것 을 발견 하 였 다.간단 한 응용 에 있어 이런 자 료 는 도움 이 될 수 있 지만 이에 국한 된다.왜냐하면 그들 은 근본적으로 천편일률 적 이 고 서로 표절 하 며 조금 복잡 한 응용 이기 때문에 모두 말 이 분명 하지 않다.  현재,나 는 기본적으로 저장 프로 세 스 를 호출 하여 SQL 에 접근 하고 있다. Server,아래 의 문 자 는 모두 실천 의 총화 이 므 로 여러분 에 게 도움 이 되 기 를 바 랍 니 다.  저장 과정 은 실행 가능 한 대상 으로 데이터베이스 에 저장 되 는 하나 이상 의 SQL 명령 입 니 다.  정 의 는 항상 추상 적 이다.저장 과정 은 사실 일정한 조작 을 완성 할 수 있 는 SQL 문장 입 니 다.단지 이 문장 은 데이터베이스 에 놓 여 있 을 뿐 입 니 다.(여기 서 우 리 는 SQL 만 이야기 합 니 다. Server)。만약 에 우리 가 저장 과정 을 만 들 고 ASP 에서 저장 과정 을 호출 하면 SQL 문 구 를 ASP 코드 와 혼합 하 는 것 을 피 할 수 있 습 니 다.이렇게 하면 좋 은 점 은 적어도 세 가지 가 있다.  첫째,효율 을 크게 향상 시킨다.저장 프로 세 스 자체 의 실행 속도 가 매우 빠 르 고 저장 프로 세 스 를 호출 하면 데이터베이스 와 의 상호작용 횟수 를 크게 줄 일 수 있다.  둘째,안전성 을 향상 시킨다.만약 에 SQL 문 구 를 ASP 코드 에 혼합 하면 코드 가 비밀 로 되 지 않 으 면 라 이브 러 리 구조 가 비밀 로 되 어 있다 는 것 을 의미한다.  셋째,SQL 문장의 중용 에 유리 하 다.  ASP 에서 일반적으로 command 대상 을 통 해 저장 과정 을 호출 하고 상황 에 따라 본 고 는 다른 호출 방법 을 소개 한다.설명 을 편리 하 게 하기 위해 저장 과정의 입 출력 에 따라 다음 과 같은 간단 한 분 류 를 한다.  1. 단일 기록 집합 저장 과정 만 되 돌려 줍 니 다.  다음 과 같은 저장 과정 이 있다 고 가정 합 니 다(본 고의 목적 은 T-SQL 문법 을 설명 하 는 것 이 아니 기 때문에 저장 과정 은 코드 만 제시 하고 설명 하지 않 습 니 다).  /*SP1*/ 

CREATE PROCEDURE dbo.getUserList  
as  
     set nocount on  
begin  
      select * from dbo.[userinfo]  
end  
go  
이상 저장 과정 에서 userinfo 표 의 모든 기록 을 얻 고 기록 집 을 되 돌려 줍 니 다.command 대상 을 통 해 이 저장 과정의 ASP 코드 를 다음 과 같이 호출 합 니 다.  '**Command 대상 을 통 해 저장 프로시저 호출**  DIM MyComm,MyRst  Set MyComm = Server.CreateObject("ADODB.Command")  MyComm.ActiveConnection = MyConStr 'MyConStr 는 데이터베이스 연결 문자열 입 니 다.  MyComm.CommandText = "getUserList" '지정 기억 프로시저 이름  MyComm.CommandType = 4 '이것 은 저장 과정 임 을 나타 낸다.  MyComm.Prepared = true 'SQL 명령 을 먼저 컴 파일 해 야 합 니 다.  Set MyRst = MyComm.Execute  Set MyComm = Nothing  저장 프로 세 스 에서 얻 은 기록 집합 은 MyRst 에 부여 되 며,다음은 MyRst 를 조작 할 수 있 습 니 다.  상기 코드 에서 CommandType 속성 은 요청 한 유형 을 표시 하고 값 을 추출 하 며 다음 과 같이 설명 합 니 다.  -1 CommandText 인자 의 종 류 를 정할 수 없 음 을 표시 합 니 다.  1 CommandText 가 일반적인 명령 형식 임 을 표시 합 니 다.  2 CommandText 인자 가 존재 하 는 표 이름 임 을 표시 합 니 다.  4 CommandText 인자 가 저장 프로 세 스 의 이름 임 을 표시 합 니 다.  또한 Connection 대상 이나 Recordset 대상 을 통 해 저장 과정 을 호출 할 수 있 습 니 다.방법 은 다음 과 같 습 니 다. 

'** Connection **  
DIM MyConn,MyRst  
Set MyConn = Server.CreateObject("ADODB.Connection")  
MyConn.open MyConStr 'MyConStr   
Set MyRst = MyConn.Execute("getUserList",0,4) ' CommandType  
Set MyConn = Nothing  

'** Recordset **  
DIM MyRst  
Set MyRst = Server.CreateObject("ADODB.Recordset")  
MyRst.open "getUserList",MyConStr,0,1,4  
'MyConStr , CommandType  
1 2 3 4 5 다음 페이지 전문 을 읽다

좋은 웹페이지 즐겨찾기