;
< /html >
----当用户在此客户端页面上输入数据后,这些数据通过 Form数据集合由“POST”方法传递到服务器端的query.asp页面,由query.asp来完成
查询功能。
----2.创建Query.asp文件,实现模糊
查询 < html >
< head >
< title >< /title >
< /head >
< body >
< %
response.write “< center >< font face="“隶书"
“size=+2 >
查询结果< /font >< /center >"
DIM qucol,str,str5
‘------获取Form数据 --------
qucol=request.form(“leixing")
str=request.form(“keyword")
‘--------生成Where子句-------
str5=qucol&“LIKE "&“"“%"&str&“%"“"
‘建立数据库连接。carlos:数据源名;sa:
用户名;pubs:数据库名
SetConn= Server.CreateObject(“ADODB.Connection")
Conn.Open “DSN=carlos;UID=sa;PWD=;Database=pubs"
for I=0 to conn.errors.count-1
response.write conn.errors(I).description&“< br >"
next
‘----创建临时存储过程----------
CommandText=“CREATE PROCEDURE
#query"&session(“num")&_
“AS select * From authors Where "&str5
Conn.execute CommandText,0,-1
‘-------创建RecordSet对象-------
Set rs=Server.CreateObject(“ADODB.RecordSet")
‘------运行临时存储过程--------
Const adOpenDynamic=2
Const adLockOptimistic=3
const adComdStoredProc=8
CommandText=“#query"&session(“num")
session(“num")=session(“num")+1
rs.Open CommandText,Conn,adOpen
Dynamic,adLockOptimistic,_
adComdStoredProc
‘---------显示查询结果 ------
response.write “< table border="“1"“ >"
response.write“< tr >"
for I=0 to rs.fields.count-1
response.write “< td >"&rs(I).Name&“< /td >"
next
response.write “< /tr >"
while not rs.EOF
response.write“< tr >"
for I=0 to rs.fields.count-1
css=rs(I).value
if css< >“" then
response.write “< td >"&css&“< /td >"
else
response.write “< td >.< /td >"
end if
next
rs.moveNext
response.write “< /tr >"
Wend
response.write“< /table >"
rs.close
set rs=nothing
set Conn=nothing
% >
< !-- 查询结束,返回输入界面,开始下次查询 -- >
< a href=“input.html" >返回到查询< /a >
< /body >
< /html >
----这里的临时存储过程名为#query1(#query2,# query3,……),每次的名字都不同,以避免每次执行query.asp时创建同名的存储过程。由于我们创建的是临时存储过程,当用户查询结束退出时,这些存储过程会自动删除,不会对数据库造成任何影响。