저장된 절차를 사용하는 법을 배우는 것은 ASP 프로그래머가 배워야하는 과정 중 하나입니다. 모든 대형 데이터베이스는 저장 절차를 지원합니다. 오늘의 기사는 새로운 기술의 편집자가 공유하는 ASP 저장 절차의 사용에 대한 완전한 모음입니다. 자세한 내용은 다음 기사로 가자!
1. 매개 변수가없는 통화 저장 절차
<%
set conn = server.createobject ( "adodb.connection")
set cmd = server.createobject ( "adodb.command")
strconn = "dsn = pubs; uid = sa; pwd"
conn.open strconn
cmd.activeconnection = conn을 설정하십시오
cmd.commandText = "{콜 nono}"
'set rs = cmc.exe 또는 cmd.execute
set rs = cmd.execute ()
%>
2. 입력 매개 변수에 대한 저장된 절차
<%
set conn = server.createobject ( "adodb.connection")
set cmd = server.createobject ( "adodb.command")
strconn = "dsn = pubs; uid = sa; pwd"
conn.open strconn
cmd.activeconnection = conn을 설정하십시오
cmd.commandText = "{call oneinput (?)}"
cmd.parameters.append cmd.createparameter ( "@aaa", adinteger, adparaminput)
cmd ( "@aaa") = 100
cmd.execute ()
%>
3. 입력 매개 변수 및 출력 매개 변수
<%
set conn = server.createobject ( "adodb.connection")
set cmd = server.createobject ( "adodb.command")
strconn = "dsn = pubs; uid = sa; pwd"
conn.open strconn
cmd.activeconnection = conn을 설정하십시오
cmd.commandText = "{oneinout (?,?)}"
cmd.parameters.append cmd.createparameter ( "@aaa", adinteger, adparaminput)
cmd ( "@aaa") = 10
cmd.parameters.capend cmd.createparameter ( "@bbb", adinteger, adparamoutput)
cmd.execute ()
bbb = cmd ( "@bbb")
%>
4. 하나의 입력 매개 변수, 하나의 출력 매개 변수 및 하나의 리턴 값
<%
set conn = server.createobject ( "adodb.connection")
set cmd = server.createobject ( "adodb.command")
strconn = "dsn = pubs; uid = sa; pwd"
conn.open strconn
cmd.activeconnection = conn을 설정하십시오
cmd.commandText = "{? = CALL ONEERETURN (?,?)}"
cmd.parameters.append cmd.createparameter ( "@return_value", Adinteger, AdparamreturnValue)
cmd.parameters.append cmd.createparameter ( "@aaa", adinteger, adparaminput)
cmd ( "@aaa") = 10
cmd.parameters.capend cmd.createparameter ( "@bbb", adinteger, adparamoutput)
cmd.execute ()
bbb = cmd ( "@bbb")
rrr = cmd ( "@return_value")
%>
ASP에서 SQL 저장 절차를 호출하는 방법
www.lucky365.net 2002-2-7 Jixiang365
<%set connection1 = server.createObject ( "adodb.connection")
Connection 1. Open ... '가입
set command1 = server.createobject ( "adodb.command")
set command1.ActiveConnection = Connection1
명령 1.CommandType = 4
command1.commandText = "sp_1" 'sp name
Command1.parameters (1) = ... '매개 변수 값
command1.parameters (2) = ...
set recordset1 = command1.execute ()
%>
ASP 통화 저장 절차에 대한 팁
1. 가장 간단한 것은 다음과 같습니다
Dim Objconn
set objconn = server.createObject ( "adobd.connection")
objconn.open 응용 프로그램 ( "Connection_string")
'저장된 절차를 호출하여 페이지에서 카운터를 증가시킵니다.
objconn.execute "exec sp_addhit"
매개 변수, 반환, 오류 처리가 없음입니다
2. 매개 변수가있는 호출
objconn.execute "exec sp_addhit 'http://www.aspalliance.com', 1"
분할 매개 변수는 레코드로 반환되지 않습니다.
3. 레코드로 돌아갑니다
Dim Objconn
희미한 objrs
set objconn = server.createObject ( "adobd.connection")
set objrs = server.createobject ( "adobd.recordset")
objconn.open 응용 프로그램 ( "Connection_string")
'저장된 절차를 호출하여 페이지에서 카운터를 증가시킵니다.
objrs.open objconn, "exec sp_listarticles '1/15/2001'"
'레코드 세트를 통한 루프 및 각 기사를 표시하십시오
4 ....
Dim Objconn
희미한 objcmd
'인스턴스화 물체
set objconn = server.createobject ( "adodb.connection")
set objcmd = server.createobject ( "adodb.command")
conn.open 응용 프로그램 ( "Connectionstring")
OBJCMD와 함께
.ActiveConnection = Conn '여기에서 연결 문자열을 지정할 수도 있습니다.
.commandText = "SP_INSERTARTICLE"
.commandtype = adcmdstordproc 'adovbs.inc 파일 또는 typelib 메타 태그가 필요합니다.
'입력 매개 변수 추가
.parameters.append .CreateParameter ( "@collecteS_id", addouble, adparaminput,, collectist_id)
.parameters.append .CreateParameter ( "@url", Advarchar, Adparaminput, 255, URL)
.parameters.append .CreateParameter ( "@title", Advarchar, Adparaminput, 99, URL)
.parameters.append .CreateParameter ( "@description", Adlongvarchar, _
Adparaminput, 2147483647, 설명)
'출력 매개 변수 추가
.parameters.append .CreateParameter ( "@link_id", Adinteger, Adparamoutput ,, 0)
'함수를 실행하십시오
'레코드 세트를 반환하지 않으면 adexecutenorecords 매개 변수 옵션을 사용하십시오.
.Execute ,, adexecutenorecords
link_id = .parameters ( "@link_id")
끝납니다
5. 저장 절차의 코드
프로 시저 DBO.SP_INSERTARTICLE를 작성하십시오
(
@columnist_id int,
@url varchar (255),
@Title Varchar (99),
@description 텍스트
@link_id int 출력
))
처럼
시작하다
dbo.t_link에 삽입 (columnist_id, url, title, description)
값 (@collectist_id,@url,@title,@description)
@link_id = @@ Identity를 선택하십시오
끝
매개 변수로 저장 프로 시저를 호출하는 몇 가지 방법
최근에 많은 친구들이 저장 절차에 전화하는 것에 대해 질문했습니다. 다음은 ASP 호출 저장 프로 시저가 매개 변수를 가진 여러 가지 방법에 대한 간단한 소개입니다.
1 이것은 또한 두 개의 입력 매개 변수가있는 가장 쉬운 방법이며 리턴 값이 없습니다.
set connection = server.createObject ( "adodb.connection")
연결
Connection.Execute "ProcName varvalue1, varvalue2"
``모든 객체를 아무것도없고 리소스를 자유롭게하십시오
Connection.close
연결 = 아무것도 설정하지 않습니다
2 레코드 세트 세트를 반환하려는 경우 :
set connection = server.createObject ( "adodb.connection")
연결
set rs = server.createobject ( "adodb.recordset")
Rs. Open "Exec ProcName varvalue1, varvalue2", 연결
``모든 객체를 아무것도없고 리소스를 자유롭게하십시오
Rs.Close
Connection.close
RS = 아무것도 설정하지 않습니다
연결 = 아무것도 설정하지 않습니다
3 위의 두 가지 메소드는 리턴 값을 가질 수 없습니다 (레코드 세트 제외). 리턴 값을 얻으려면 명령 메소드를 사용해야합니다.
우선, 두 가지 유형의 반환 값이 있습니다. 하나는 C 및 VB 리턴 값의 함수와 마찬가지로 저장된 절차에서 값을 직접 반환하는 것입니다. 다른 하나는 여러 값을 반환하는 것입니다.
이러한 값을 저장하는 변수 이름은 Call 매개 변수에서 먼저 지정해야합니다.
이 예제는 여러 매개 변수, 입력 매개 변수, 출력 매개 변수, 리턴 레코드 세트 및 직접 반환 값을 처리합니다 (충분합니까?).
저장 절차는 다음과 같습니다.
술집을 사용하십시오
가다
- 저장된 절차를 만듭니다
프로 시저 SP_PUBSTEST를 만듭니다
- 세 가지 매개 변수 정의, 세 번째 매개 변수, 세 번째 변수, 특수 표시는 출력에 사용됩니다.
@au_lname varchar (20),
@Intid int,
@IntIdout int 출력
처럼
@IntIdout = @Indid + 1을 선택하십시오
선택하다 *
저자로부터
여기서 au_lname은 @au_lname + ''%''처럼
-값을 직접 회전하십시오
@Intid + 2를 반환합니다
저장된 절차를 호출하는 ASP 프로그램은 다음과 같습니다.
< %@ language = vbscript %>
<%
희미한 CMDSP
희미한 adors
DIM ADCMDSPSTREDPROC
Dim AdparamreturnValue
희미한 adparaminput
희미한 adparamoutput
Dim Adinteger
희미한 ival
희미한 타원형
희미한 adofield
희미한 advarchar
'이 값은 VB에서 사전 정의 된 상수이며 직접 호출 할 수 있지만 vbscript에서 사전 정의되지는 않습니다.
ADCMDSPSTRODPROC = 4
adparamreturnvalue = 4
adparaminput = 1
adparamoutput = 2
Adinteger = 3
advarchar = 200
ival = 5
타원형 = 3
``명령 개체를 만듭니다
cmdsp = server.createobject ( "adodb.command")
``링크를 만듭니다
cmdsp.activeConnection = "driver = {sql server}; server = (local); uid = sa; pwd =; database = pubs"
''명령 객체 호출 이름을 정의하십시오
cmdsp.commandtext = "sp_pubstest"
``저장 프로 시저로서 명령 통화 유형 설정
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 & "
"& vbcrlf
다음
Response.Write "
"
adors.movenext
향하게 하다
``두 가지 출력 값 인쇄 :
Response.Write "
@Intidout = "& cmdsp.parameters ("@intidout "). value &"
"
Response.Write "
반환 값 = "& cmdsp.parameters ("return_value "). value &"
"
''큰 청소
adors = 아무것도 설정하지 않습니다
CMDSP.ActiveConnection = 아무것도 설정하지 않습니다
CMDSP = 아무것도 설정하지 않습니다
%>
다른 방법이 있습니다.
이 기사는 많은 기사를 참조했으며 여기에는 나열되지 않습니다.
ASP에서 저장된 절차 사용
ASP 프로그램의 효율성을 향상시키기 위해서는 때때로 ASP에서 SQL Server를 사용하여 스토리지 기술을 사용해야합니다. 다음은 간단한 소개입니다.
저장된 절차의 설정
다음은 SQL Server의 엔터프라이즈 관리자에서 저장된 절차를 설정하는 방법에 대한 간략한 소개입니다.
(1) 오픈 엔터프라이즈 관리자
(2) 서버 그룹 (SQL Server Group), 서버, 데이터베이스 (데이터베이스) 및 해당 데이터베이스를 선택하고 해당 데이터베이스 아래에서 저장된 Procdures 항목을 마우스 오른쪽 단추로 클릭하고 팝업 메뉴에서 새 저장된 프로 시저를 선택하고 저장된 프로 시저에 저장 프로 시저를 작성하여 저장된 프로 시저를 작성하십시오. 예는 다음과 같습니다.
프로 시저 생성 proctest @mycola char (10),@mycolb char (10),@mycolc text as
ChatData (Mycola, MyColc) 값 (@Mycola,@MyColb,@MyColc)에 삽입하십시오.
SQL Server의 문서화에서 구문은 다음과 같습니다.
Proc [edure] Processure_name [; 숫자]를 만듭니다.
{@parameter data_type} [varying] [= default] [output]]
[, ... n] [{recompile | 암호화
| 다시 컴파일, 암호화}] [복제 용] AS
sql_statement [... n]
SQL 구문에 익숙하지 않은 경우 Check Syntax를 사용하여 구문을 확인할 수 있습니다. 위의 예에서는 저장된 절차가 Mycola라는 저장 절차와 3 개의 매개 변수로 만들어 졌음을 의미합니다. 첫 번째 매개 변수 Mycola 데이터 유형은 char 및 너비 10입니다. 두 번째 매개 변수 데이터 유형은 char 및 너비 10이고 세 번째 매개 변수 데이터 유형은 텍스트입니다. 다음은 SQL Server의 데이터 유형입니다.
저장 프로 시저가 설정되면 ASP 프로그램에서 저장된 절차를 호출하는 방법은 다음과 같습니다. ASP 프로그램의 효율성을 향상시키기 위해서는 ASP에서 SQL Server를 사용하여 스토리지 기술을 사용해야합니다. 다음은 위의 문서에서 매개 변수를 추가하는 간단한 방법입니다.
p.append cm.createparameter ( "매개 변수 이름", 유형, 방향, 크기)
매개 변수 값의 유형의 의미는 다음과 같습니다.
이름 값 정수 값 함수
AddBtimestamp 135 날짜 및 시간 데이터 유형
부가 14 소수 정수 값
Addouble 5 이중 정밀 소수점 값
Aderror 10 시스템 오류 메시지
Adguid 72 전 세계적으로 고유 한 식별자
AddisPath 9 Com/Ole 자동 객체 (자동화 객체)
Adinteger 3 4 바이트 서명 정수
Adiunknown 13 com/ole 객체
Adlongvarbinary 205 큰 2 바이트 값
Adlongvarchar 201 큰 문자열 값
Adlongvarwchar 203 큰 비 코딩 된 문자열
Adnumeric 131 소수 정수 값
ADSINGLE 4 단일----------------정리 플로팅 포인트 십진
adsmallint 2 2 바이트 서명 정수
adtinyint 16 1 바이트 서명 정수
Adunsignedbigint 21 8 바이트 부호없는 정수
Adunsignedint 19 4 바이트 부호없는 정수
AdunsignedSmallint 18 2 바이트 부호없는 정수
adunsignedtinyint 17 1 바이트 부호없는 정수
AduserDefined 132 사용자 정의 데이터 유형
Advariant 12 Ole Object
Advarbinary 204 더블 바이트 문자 변수 값
Advarchar 200 문자 변수 값
Advarchar 202 코드되지 않은 문자열 변수 값
adwchar 130 인코딩 된 문자열
방향 값의 의미는 다음과 같습니다.
이름 값 정수 값 함수
adparaminput 1이 매개 변수에 데이터를 입력 할 수 있습니다.
Adparamoutput 2는이 매개 변수에 데이터를 출력 할 수 있습니다.
adparaminputoutput 3이 매개 변수에 대한 데이터 입력 및 출력이 가능합니다.
AdparamreturnValue 4는 서브 루틴 에서이 매개 변수로 데이터를 반환 할 수 있습니다.
위의 것은 잘못된 신기술 채널의 편집자가 수집 한 ASP 저장 절차의 사용을 완전히 모음입니다. 나는 그것이 당신의 학습에 도움이되기를 바랍니다!