SQL存儲過程初探
更新時間:2006年11月14日 00:00:00 作者:
下面用ASP來調(diào)用它:
CONN文件(連接數(shù)據(jù)庫)如下:
復(fù)制代碼 代碼如下:
<%
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ù)庫的用戶和密碼及所要連的數(shù)據(jù)庫
新建一個index.asp文件,內(nèi)容如下:
復(fù)制代碼 代碼如下:
<!--#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í)行這個頁面如果顯示如下:

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

OK,你已經(jīng)入門了!就這么簡單!

