ASP MSSQL存储过程的实现小例

时间:2022-03-02 13:34:05

sql

复制代码代码如下:


CREATE PROCEDURE Proname //使用CREATE PROCEDURE 创建存储过程 Proname为存储过程名称 
@Lname VARCHAR(30) //定义传入的参数 
AS 
SET NOCOUNT ON 
BEGIN 
SELECT * FROM TableName WHERE Lname like '%'+@Lname+'%' //使用SELECE模糊查询Lname值与传入参数Lname的值相近所有行 
END 
GO 


以上就是已经创建了一个带一个输入参数的存储过程,并且返回所有查询的记过集。 
下面就开始使用ASP操作这个存储过程。

复制代码代码如下:


//下面是建立与MSSQL SERVER连接的字符串,大家都知道,我就不讲了。 
strConnect = "Driver={SQL Server};Server=(local);uid=sa;password=;database=dataname" 
Set conn = server.CreateObject ("Adodb.Connection") 
conn.Open strConnect 

SET cmd = Server.CreateObject("ADODB.Command") //建立一个COMMAND命令对象 
with cmd 
cmd.ActiveConnection = conn //conn为连接字符串 
cmd.CommandText = "Proname" //这里为要使用的存储过程名称 
cmd.CommandType = 4 //CommandType属性表明请求的类型。 
//-1 表明CommandText参数的类型无法确定 
//1 表明CommandText是一般的命令类型 
//2 表明CommandText参数是一个存在的表名称 
//4 表明CommandText参数是一个存储过程的名称,所以这里CommandType = 4。 
cmd.Prepared = true //要求将SQL命令先编译 
cmd.Parameters.append cmd.CreateParameter("@Lname",3,1,4,Lname) //添加参数@Lname,后面的Lname是自己在ASP页面里定义的变量。 
Set rs = cmd.Execute //设置rs变量取得返回的查询纪录集。 
end with 

DO WHILE NOT rs.EOF //用DO循环读出rs纪录集里面的行 
RESPONSE.WRITE(rs("字段名")"<BR />") 
rs.MOVENEXT //移动到下一条 
LOOP //结束循环 

rs.CLOSE //关闭对象