Active Server Page (ASP) 常見問題[16]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 aloxy 的 blog

</html>

問: 如何使用asp利用ado呼叫sqlstored procedure 答: 以下有三穘方式可做,以下例子是使用command物件呼叫sample stored procedure sp_test,然後這個stored procedure 會接受一個整數值為參數乲會回傳一個整數值。

<%@ language="vbscript" %>
<!--#include virtual="/aspsamp/samples/adovbs.inc"-->
<html>
<head><title>place document title here</title></head>
<body>
方法一是查詢data source stored procedure的參數,這是較沒效率的方式為<br>
<%
set cn = server.createobject("adodb.connection")
set cmd = server.createobject("adodb.command")
cn.open "data source name", "userid", "password"
set cmd.activeconnection = cn
cmd.commandtext = "sp_test"
cmd.commandtype = adcmdstoredproc
' ask the server about the parameters for the stored proc
cmd.parameters.refresh
' assign a value to the 2nd parameter.
' index of 0 represents first parameter.
cmd.parameters(1) = 11
cmd.execute
%>
呼叫經由方法一<br>
returnvalue = <% response.write cmd.parameters(0) %><p>

<!-- ************************************************************ -->

方法二是以宣告stored procedure, 接著直接宣告這個參數<br>
<%
set cn = server.createobject("adodb.connection")
cn.open "data source name", "userid", "password"
set cmd = server.createobject("adodb.command")
set cmd.activeconnection = cn
cmd.commandtext = "sp_test"
cmd.commandtype = adcmdstoredproc
cmd.parameters.append cmd.createparameter("retval", adinteger, _
adparamreturnvalue)
cmd.parameters.append cmd.createparameter("param1", adinteger, _
adparaminput)
' set value of param1 of the default collection to 22
cmd("param1") = 22
cmd.execute
%>
呼叫經由方法二<br>
returnvalue = <% response.write cmd(0) %><p>

<!-- ************************************************************ -->

方法三是最常用的方式,使用標準方式 <%
set cn = server.createobject("adodb.connection")
cn.open "data source name", "userid", "password"
set cmd = server.createobject("adodb.command")
set cmd.activeconnection = cn
' define the stored procedure's inputs and outputs
' question marks act as placeholders for each parameter for the
' stored procedure
cmd.commandtext = "{?=call sp_test(?)}"
' specify parameter info 1 by 1 in the order of the question marks
' specified when we defined the stored procedure
cmd.parameters.append cmd.createparameter("retval", adinteger, _
adparamreturnvalue)
cmd.parameters.append cmd.createparameter("param1", adinteger, _
adparaminput)
cmd.parameters("param1") = 33
cmd.execute
%>
呼叫經由方法三<br>
returnvalue = <% response.write cmd("retval") %><p>
</body>
</html>

問: 我的程式中是否能放入option explicit?
option explicit

本文关键:Active Server Page (ASP) 常見問題
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top