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 //关闭对象