下面用ASP來調(diào)用它: CONN文件(連接數(shù)據(jù)庫)如下:
<% 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服務器的IP地址,uid pwd it 分別為連接數(shù)據(jù)庫的用戶和密碼及所要連的數(shù)據(jù)庫
新建一個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í)行這個頁面如果顯示如下:
那么恭喜你,成功了! 上面是不帶參數(shù)的存儲過程調(diào)用,但我們在使用中一定會有參數(shù)的,下面就來介紹一個有參數(shù)的。 還是上邊的例子,我們把原來的存儲過程改成這樣:
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) 是要傳送進來的參數(shù),@是必須的,因為有兩個,所以之間用“,”來分隔 index文件改成如下:
<!--#include file="conn.asp" --> <% set rs=server.createobject("adodb.recordset") sql = "exec upGetUserName 'snake','snake'" 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 %>
注意:sql = "exec upGetUserName 'snake','snake'" 兩個snake不是一個意思,一個是uid,一個是pass,存儲過程返回的是uid="snake"并且pass="snake"的記錄 數(shù)據(jù)庫里只有一條這樣的記錄,所以會顯示:
OK,你已經(jīng)入門了!就這么簡單!
經(jīng)典論壇討論: http://bbs.blueidea.com/thread-2669513-1-2.html
出處:藍色理想
責任編輯:moby
上一頁 SQL存儲過程初探 [2] 下一頁
◎進入論壇網(wǎng)絡編程版塊參加討論
|