再问简单点的
一个处处过程和显示查询结果的问题.
数据库表名:test
字段及内容
id rname
1 张三
2 李四
3 王二
1.asp
<form action="2.asp">
<input name="strWhere" value="id=2">
<input type="submit" value="submit">
</form>
2.asp
<%
strWhere = request("strWhere")
DIM MyComm,MyRst
Set MyComm = Server.CreateObject("ADODB.Command")
with MyComm
.ActiveConnection = DBConn.ResConn 'MyConStr是数据库连接字串
.CommandText = "ac_Search" '指定存储过程名
.CommandType = 4 '表明这是一个存储过程
.Prepared = true '要求将SQL命令先行编译
.Parameters.Append .CreateParameter("@rname",200, 4, 1000)
.Parameters.append .CreateParameter("@strWhere",200,1,1500,strWhere)
Set MyRst = .Execute
end with
if MyRst.state = 0 then '未取到数据,MyRst关闭
rname = -1
else
MyRst.close '注意:若要取得参数值,需先关闭记录集对象
rname = MyComm(0)
MyRst.open
'do until MyRst.EOF
Response.Write rname&"<br>"
'loop
end if
Set MyComm = Nothing
response.write "rname="& rname & "<br>"
%>
存储过程ac_Search:
CREATE PROCEDURE [dbo].[ac_Search]
@strWhere varchar(1500) -- 查询条件 (注意: 不要加 where)
AS
declare @strSQL varchar(5000) -- 主语句
set nocount on
begin
set @strSQL = "select top* from dbo.[test] where " + @strWhere
end
exec (@strSQL)
go
问题:
如何输出"id=2"所对应的"李四"??
感觉上面肯定有不对的,请指教??