亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ASP調用帶參數存儲過程的幾種方式

2019-11-18 16:51:36
字體:
來源:轉載
供稿:網友

asp調用帶參數存儲過程的幾種方式

最近有很多的朋友問到調用存儲過程的問題,這里簡單介紹幾種ASP調用帶參數存儲過程的方法。

1. 這也是最簡單的方法,兩個輸入參數,無返回值:
set connection = server.createobject("adodb.connection")
connection.open someDSN
Connection.Execute "PRocname varvalue1, varvalue2"

'將所有對象清為nothing,釋放資源
connection.close
set connection = nothing


2. 如果要返回 Recordset 集:
set connection = server.createobject("adodb.connection")
connection.open someDSN
set rs = server.createobject("adodb.recordset")
rs.Open "Exec procname varvalue1, varvalue2",connection

'將所有對象清為nothing,釋放資源
rs.close
connection.close
set rs = nothing
set connection = nothing


3. 以上兩種方法都不能有返回值,(Recordset除外),如果要得到返回值,需要用Command的方法。
首先說明,返回值有兩種。一種是在存儲過程中直接return一個值,就象C和VB的函數返回值那樣;另一種是可以返回多個值,存
儲這些值的變量名稱需要在調用參數中先行指定。
這個例子要處理多種參數,輸入參數,輸出參數,返回記錄集以及一個直接返回值(夠全了吧?)
存儲過程如下:

use pubs
GO

-- 建立存儲過程
create procedure sp_PubsTest

-- 定義三個參數變量,注意第三個,特別標記是用于輸出
@au_lname varchar (20),
@intID int,
@intIDOut int OUTPUT

AS

SELECT @intIDOut = @intID + 1

SELECT *
FROM authors
WHERE au_lname LIKE @au_lname + '%'

--直接返回一個值
RETURN @intID + 2


調用該存儲過程的asp程序如下:

<%@ Language=VBScript %>
<%
Dim CmdSP
Dim adoRS
Dim adCmdSPStoredProc
Dim adParamReturnValue
Dim adParaminput
Dim adParamOutput
Dim adInteger
Dim iVal
Dim oVal
Dim adoField
Dim adVarChar

‘這些值在 VB 中是預定義常量,可以直接調用,但在 VBScript 中沒有預定義
adCmdSPStoredProc = 4
adParamReturnValue = 4
adParaminput = 1
adParamOutput = 2
adInteger = 3
adVarChar = 200

iVal = 5
oVal = 3

'建一個command對象
set CmdSP = Server.CreateObject("ADODB.Command")

'建立連結
CmdSP.ActiveConnection = "Driver={SQL Server};server=(local);Uid=sa;Pwd=;Database=Pubs"

'定義command 對象調用名稱
CmdSP.CommandText = "sp_PubsTest"

'設置command調用類型是存儲過程 (adCmdSPStoredProc = 4)
CmdSP.CommandType = adCmdSPStoredProc

'往command 對象中加參數
'定義存儲過程有直接返回值,并且是個整數,省缺值是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)

'運行存儲過程,并得到返回記錄集
Set adoRS = CmdSP.Execute


'把每個記錄打印出來,其中的字段是虛擬的,可以不用管
While Not adoRS.EOF

for each adoField in adoRS.Fields
Response.Write adoField.Name & "=" & adoField.Value & "<br>" & vbCRLF
Next
Response.Write "<br>"
adoRS.MoveNext
Wend

'打印兩個輸出值:
Response.Write "<p>@intIDOut = “ & CmdSP.Parameters("@intIDOut").Value & "</p>"
Response.Write "<p>Return value = " & CmdSP.Parameters("RETURN_VALUE").Value & "</p>"


'大掃除
Set adoRS = nothing
Set CmdSP.ActiveConnection = nothing
Set CmdSP = nothing
%>


------------------------------------------------------------------------------------------------------------------------------------

在asp中調用sql server的存儲過程可以加快程序運行速度

1.調用存儲過程的一般方法
先假設在sql server中有一存儲過程dt_users:
CREATE PROCEDURE [dbo].[dt_users]
AS
select * from users
return
GO
第一種方法是不利用command對象,直接用recordset對象
set rs=server.createobject("adodb.recordset")
sql="exec dt_users"
rs.open sql,conn,1,1  這樣就可
第二種方法是利用command對象
set comm=server.createobject("adodb.command")
comm.commantype=4
set comm.activeconnection=conn
comm.commandtext="dbo.dt_users"
set rs=server.createobject("adodb.recordset")
rs.open comm,,1,1

2.給存儲過程傳遞參數
如果存儲過程中不用參數,而是單一的sql語句,還顯示不出調用存儲過程的優勢!
比如說一bbs的查詢,可以按作者和主題查詢!則可以建立存儲過程如下:
參數keyWord為關鍵字,choose是選擇查詢的方法。
CREATE PROCEDURE [dbo].[dt_bbs]
@keyword varchar(20)=null,
@choose int=null
as
if @choose=1
  select * from bbs where name like @keyword
else
  select * from bbs where subject like @keyword
return
go
這樣我們調用存儲過程時只需將參數傳遞過去就行了,而省去在asp中來寫一段程序
用第一種方法:
set rs=server.createobject("adodb.recordset")
sql="exec dt_bbs '"&keyword&"',"&choose&""
rs.open sql,conn,1,1
用第二種方法:
set comm=server.createobject("adodb.command")
comm.commantype=4
comm.Parameters.append comm.CreateParameter("@keyword",adChar,adParamInput,50,keyword)
comm.Parameters.append comm.CreateParameter("@keyword",adInteger,adParamInput,,choose)
set comm.activeconnection=conn
comm.commandtext="dbo.dt_bbs"
set rs=server.createobject("adodb.recordset")
rs.CursorType=3
rs.open comm,,1,1


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性感美女h网站在线观看免费| 亚洲影视中文字幕| 亚洲国产精品久久久| 久久偷看各类女兵18女厕嘘嘘| 精品久久久久久久中文字幕| 91久久久久久久| 热99精品只有里视频精品| 一区二区三区在线播放欧美| 亚洲国产精品福利| 5252色成人免费视频| 岛国av午夜精品| 精品久久久久久电影| 亚洲一区av在线播放| 欧美午夜精品久久久久久浪潮| 丝袜美腿亚洲一区二区| 国产综合在线看| 亚洲自拍偷拍一区| 日本精品性网站在线观看| 亚洲片国产一区一级在线观看| 欧美日韩精品在线观看| 欧美小视频在线| 色午夜这里只有精品| 国产免费亚洲高清| 欧美性猛交xxxx黑人猛交| 欧美性猛交视频| 欧美成人免费在线视频| 国产精品自产拍高潮在线观看| 欧美福利视频网站| 欧美有码在线观看| 午夜精品一区二区三区在线视频| 日韩电影中文字幕一区| 91精品久久久久久久久中文字幕| 亚洲国产精品久久精品怡红院| 8090理伦午夜在线电影| 亚洲乱码av中文一区二区| 日韩不卡在线观看| 国产成人精品免费视频| 日韩在线播放一区| 日韩欧美大尺度| 亚洲一区二区黄| 中文字幕亚洲情99在线| 国模精品系列视频| 国模吧一区二区三区| 久久亚洲精品视频| 成人www视频在线观看| 欧美成人网在线| 色偷偷偷综合中文字幕;dd| 久久中文字幕视频| 精品国产户外野外| 国产精品欧美日韩| 中文字幕免费精品一区高清| 国产精品黄页免费高清在线观看| 久久好看免费视频| 国产精品成熟老女人| 国产成人自拍视频在线观看| 97视频色精品| 欧美成人免费全部| 51ⅴ精品国产91久久久久久| 亚洲精品福利免费在线观看| 成人免费在线视频网址| 国产精品爱啪在线线免费观看| 8090理伦午夜在线电影| 欧美激情a∨在线视频播放| 伊人成人开心激情综合网| 色悠悠久久久久| 亚洲图片制服诱惑| 日韩av中文字幕在线免费观看| 国产日韩精品入口| 欧美成人精品一区| 国产成人激情小视频| 伊人久久久久久久久久久久久| 亚洲激情在线观看| 欧美日韩成人在线视频| 亚洲午夜精品久久久久久性色| 91高清免费视频| 人人做人人澡人人爽欧美| 欧美日韩在线影院| 中文字幕亚洲一区二区三区五十路| 欧美日韩中国免费专区在线看| 国内精品模特av私拍在线观看| 欧美日韩亚洲网| 亚洲国内高清视频| 一个人看的www欧美| 成人欧美在线视频| 8090成年在线看片午夜| 国产精品丝袜一区二区三区| 亚洲第一精品夜夜躁人人爽| 亚洲精品国产精品乱码不99按摩| 69久久夜色精品国产69乱青草| 日韩精品免费一线在线观看| 欧美精品www在线观看| 日韩美女福利视频| 精品久久久视频| 国外成人在线视频| 欧美午夜精品在线| 中文字幕久热精品视频在线| 91天堂在线视频| 日韩亚洲欧美中文高清在线| 久久精品视频导航| 国产精品视频1区| 97视频人免费观看| 久久99热这里只有精品国产| 欧美久久精品一级黑人c片| 日韩欧美国产免费播放| 亚洲美女免费精品视频在线观看| 欧美午夜片在线免费观看| 亚洲精选一区二区| 亚洲一区中文字幕在线观看| 久久精品中文字幕| 精品国产区一区二区三区在线观看| 国产成人精品a视频一区www| 51ⅴ精品国产91久久久久久| 午夜精品在线观看| 精品自拍视频在线观看| 久久久亚洲成人| 亚洲欧美在线一区| 欧美日韩激情小视频| 亚洲片av在线| 久久久国产影院| 热re99久久精品国产66热| 亚洲娇小xxxx欧美娇小| 8x海外华人永久免费日韩内陆视频| 国产成人综合av| 日韩在线观看免费网站| 国产精品永久免费视频| 亚洲精品98久久久久久中文字幕| 98午夜经典影视| www亚洲精品| 日韩高清有码在线| 久久精品视频在线| 成人妇女免费播放久久久| 久久久久久网址| 国产精品免费一区| 精品偷拍一区二区三区在线看| 日韩精品中文在线观看| 亚洲欧美在线第一页| 蜜臀久久99精品久久久无需会员| 日韩在线视频国产| 欧美专区第一页| 精品久久中文字幕久久av| 国产裸体写真av一区二区| 亚洲影院在线看| 色偷偷av一区二区三区| 国产不卡精品视男人的天堂| 在线a欧美视频| 中国日韩欧美久久久久久久久| 欧美日韩午夜视频在线观看| 三级精品视频久久久久| 国产精品久久久久影院日本| 18性欧美xxxⅹ性满足| 国产精品视频男人的天堂| 欧美一区二区三区免费观看| 欧美在线精品免播放器视频| 最近2019好看的中文字幕免费| 国产剧情久久久久久| 亚洲韩国欧洲国产日产av| 欧美性理论片在线观看片免费| 黄色成人在线播放| 亚洲欧美999| yw.139尤物在线精品视频| 亚洲黄色片网站| 国产+人+亚洲| 日本一区二三区好的精华液| 欧美福利视频在线|