SQL存儲(chǔ)過(guò)程初探第2/2頁(yè)
下面用ASP來(lái)調(diào)用它:
CONN文件(連接數(shù)據(jù)庫(kù))如下:
<%
set db=server.createobject("adodb.connection")
db.Open ("driver={SQL Server};server=192.168.18.254;uid=sa;pwd=;database=it;")
%>
192.168.18.254為SQL SERVER服務(wù)器的IP地址,uid pwd it 分別為連接數(shù)據(jù)庫(kù)的用戶和密碼及所要連的數(shù)據(jù)庫(kù)
新建一個(gè)index.asp文件,內(nèi)容如下:
<!--#include file="conn.asp" -->
<%
set rs=server.createobject("adodb.recordset")
sql = "exec upGetUserName"
rs.open sql,db,3,2
response.write rs.recordcount&"<br>"
while not rs.eof
response.write rs("uname")&"<br>"
rs.movenext
wend
response.End
%>
在瀏覽器中執(zhí)行這個(gè)頁(yè)面如果顯示如下:

那么恭喜你,成功了!
上面是不帶參數(shù)的存儲(chǔ)過(guò)程調(diào)用,但我們?cè)谑褂弥幸欢〞?huì)有參數(shù)的,下面就來(lái)介紹一個(gè)有參數(shù)的。
還是上邊的例子,我們把原來(lái)的存儲(chǔ)過(guò)程改成這樣:
CREATE PROC upGetUserName
@intUserId NVARCHAR(50),
@intUserpass NVARCHAR(50)
AS
BEGIN
SELECT uname FROM users WHERE uId=@intUserId and pass=@intUserpass
END
GO
可以把原來(lái)的存儲(chǔ)過(guò)程刪除,然后把這個(gè)寫在查詢分析器里來(lái)執(zhí)行,也可以直接在原來(lái)的存儲(chǔ)過(guò)程里改。
@intUserId NVARCHAR(50),
@intUserpass NVARCHAR(50)
是要傳送進(jìn)來(lái)的參數(shù),@是必須的,因?yàn)橛袃蓚€(gè),所以之間用“,”來(lái)分隔
index文件改成如下
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
注意:sql = "exec upGetUserName 'snake','snake'"
兩個(gè)snake不是一個(gè)意思,一個(gè)是uid,一個(gè)是pass,存儲(chǔ)過(guò)程返回的是uid="snake"并且pass="snake"的記錄
數(shù)據(jù)庫(kù)里只有一條這樣的記錄,所以會(huì)顯示:

OK,你已經(jīng)入門了!就這么簡(jiǎn)單!
相關(guān)文章
ASP程序與SQL存儲(chǔ)過(guò)程結(jié)合使用詳解
存儲(chǔ)進(jìn)程就是作為可執(zhí)行對(duì)象存放在數(shù)據(jù)庫(kù)中的一個(gè)或多個(gè)SQL命令。2009-11-11
在ASP中調(diào)用存儲(chǔ)過(guò)程的幾種方法
在ASP中調(diào)用存儲(chǔ)過(guò)程的幾種方法...2006-06-06
ASP開發(fā)中存儲(chǔ)過(guò)程應(yīng)用全接觸
ASP開發(fā)中存儲(chǔ)過(guò)程應(yīng)用全接觸...2006-08-08
結(jié)合asp和存儲(chǔ)過(guò)程做的搜索程序
結(jié)合asp和存儲(chǔ)過(guò)程做的搜索程序...2006-08-08

