1 이 방법은 입력 매개변수가 2개이고 반환 값이 없는 가장 간단한 방법이기도 합니다.
연결 설정 = server.createobject(adodb.connection)
연결.일부DSN 열기
연결.Procname varvalue1, varvalue2 실행
'모든 개체를 지우고 리소스를 해제합니다.
연결.닫기
연결 설정 = 없음
2 레코드세트 세트를 반환하려면:
연결 설정 = server.createobject(adodb.connection)
연결.일부DSN 열기
rs = server.createobject(adodb.recordset) 설정
rs.Open Exec procname varvalue1, varvalue2,connection
'모든 개체를 지우고 리소스를 해제합니다.
RS.닫기
연결.닫기
설정자=아무것도 없음
연결 설정 = 없음
3 위의 두 가지 방법 중 어느 것도 반환 값을 가질 수 없습니다(Recordet 제외). 반환 값을 얻으려면 Command 방법을 사용해야 합니다.
우선, 반환 값에는 두 가지 유형이 있습니다. 하나는 C와 VB의 함수 반환 값처럼 저장 프로시저에서 직접 값을 반환하는 것이고, 다른 하나는 여러 값을 반환하는 것이며, 이러한 값을 저장할 변수 이름을 먼저 호출 매개변수에 지정해야 합니다. .
이 예는 여러 매개변수, 입력 매개변수, 출력 매개변수, 반환 레코드 세트 및 직접 반환 값을 처리해야 합니다(충분히 완료되었습니까?)
저장 프로시저는 다음과 같습니다.
술집을 이용하다
가다
-- 저장 프로시저 생성
sp_PubsTest 프로시저 생성
--3개의 매개변수 변수를 정의합니다. 세 번째 변수는 특별히 출력용으로 표시됩니다.
@au_lname varchar (20),
@intID 정수,
@intIDOut int 출력
처럼
SELECT @intIDOut = @intID + 1
선택하다 *
저자로부터
@au_lname + '%'와 같은 au_lname 위치
--값을 직접 반환
@intID + 2 반환
이 저장 프로시저를 호출하는 ASP 프로그램은 다음과 같습니다.
<%@ 언어=VBScript %>
<%
희미한 CmdSP
디마도RS
희미한 광고CmdSPStoredProc
adParamReturnValue가 희미함
희미한 광고 Paraminput
희미한 광고 매개변수 출력
희미한 광고정수
희미한 iVal
희미한 타원형
Dim adoField
희미한 adVarChar
'이 값은 VB에서 미리 정의된 상수이므로 직접 호출할 수 있지만 VBScript에서는 미리 정의되어 있지 않습니다.
adCmdSPStoredProc = 4
adParamReturnValue = 4
adParaminput = 1
adParamOutput = 2
adInteger = 3
adVarChar = 200
iVal = 5
타원형 = 3
'커맨드 객체 생성
CmdSP = Server.CreateObject(ADODB.Command) 설정
'링크 생성
CmdSP.ActiveConnection = 드라이버={SQL Server};서버=(로컬);Uid=sa;Pwd=;데이터베이스=Pubs
'명령 개체 호출 이름을 정의합니다.
CmdSP.CommandText = sp_PubsTest
'명령 호출 유형을 저장 프로시저로 설정합니다(adCmdSPStoredProc = 4).
CmdSP.CommandType = adCmdSPStoredProc
'명령 개체에 매개 변수를 추가합니다.
' 직접 반환 값을 갖도록 저장 프로시저를 정의하며 기본값은 4입니다.
CmdSP.Parameters.Append CmdSP.CreateParameter(RETURN_VALUE, adInteger, adParamReturnValue, 4)
'문자 입력 매개변수 정의
CmdSP.Parameters.Append CmdSP.CreateParameter(@au_lname, adVarChar, adParaminput, 20, M)
'정수 입력 매개변수 정의
CmdSP.Parameters.Append CmdSP.CreateParameter(@intID, adInteger, adParamInput, , iVal)
'정수 출력 매개변수 정의
CmdSP.Parameters.Append CmdSP.CreateParameter(@intIDOut, adInteger, adParamOutput, oVal)
'저장 프로시저를 실행하고 반환된 레코드세트를 가져옵니다.
adoRS = CmdSP.Execute 설정
'각 레코드를 인쇄합니다. 해당 필드는 가상이므로 무시할 수 있습니다.
adoRS.EOF가 아닌 동안
adoRS.Fields의 각 adoField에 대해
Response.Write adoField.Name & = & adoField.Value & <br> & vbCRLF
다음
응답.쓰기<br>
adoRS.MoveNext
향하게 하다
'두 개의 출력 값을 인쇄합니다:
Response.Write <p>@intIDOut = & CmdSP.Parameters(@intIDOut).Value & </p>
Response.Write <p>반환 값 = & CmdSP.Parameters(RETURN_VALUE).Value & </p>
'일반 청소
adoRS = 아무것도 설정하지 않음
CmdSP.ActiveConnection = 없음으로 설정
CmdSP = 없음으로 설정
%>
좀 더 편향된 다른 방법도 있는데 이에 대해서는 나중에 이야기하겠습니다.
이 기사는 여기에 나열되지 않은 많은 기사를 참조합니다.