请问:在结果中查询如何编写存储过程~
<%if trim(request("titleword"))<>"" then
keyword=trim(keyword&" "&trim(request("titleword")))
keyarray=split(keyword," ")
keyary=""
for i=0 to Ubound(keyarray)-1
keyary=keyary&keyarray(0)&"%' and jianjie like '%"
next
keyary=keyary&keyarray(i)
strsql="select * from tablea where (jianjie like '%"&keyary&"%') order by jiage asc"
end if%>
上面的ASP语句如何在SQL+ASP中使用存储过程~
在下是新手,请写仔细点。
谢谢大家的支持!
问题点数:100、回复次数:7Top
1 楼wgsasd311(自强不息)回复于 2006-03-03 12:41:01 得分 0
ooTop
2 楼perfectboyjxl(perfectboy)回复于 2006-03-03 12:48:57 得分 0
楼上的认为我说得不够仔细~
我就是想实现模糊查询结果的二次查询~
比如查询“南京+上海”这样的字符~Top
3 楼zlp321002(Life Is Good,Let's Shine)回复于 2006-03-03 13:04:02 得分 30
--你拼下这个SQL条件即可。如下:
Declare @keyWord varchar(2000)
set @keyWord='南京+上海'
select '字段 like ''%'+replace(@keyWord,'+','%'' And 字段 like ''%')+'%'''Top
4 楼zlp321002(Life Is Good,Let's Shine)回复于 2006-03-03 13:24:11 得分 30
--存储过程如下:
ALTER Proc P_Test
(
@keyWord varchar(200)
)
as
begin
declare @s varchar(8000)
set @s=''
select @s='jianjie like ''%'+replace(@keyWord,'+','%'' And jianjie like ''%')+'%'''
Exec('select * from tablea where '+@s+' order by jiage asc')
end
--然后用你的ASP.调用这个存储过程即可!Top
5 楼perfectboyjxl(perfectboy)回复于 2006-03-03 13:42:06 得分 0
ASP文件怎么调试呢?别骂我~
一起给你加分吧~谢谢你!Top
6 楼mislrb(上班看看早报,上上CSDN,下班看看电影)回复于 2006-03-03 14:46:37 得分 40
存储过程,4楼已给出
DIM oComm,oPara,oRs
set oRs=server.Createobject("ADODB.RecordSet")
Set oComm = Server.CreateObject("ADODB.Command")
oComm.ActiveConnection = Conn 'Conn是数据库连接
oComm.CommandText = "P_Test" '指定存储过程名
oComm.CommandType = 4 '指明这是一个存储过程
oComm.Prepared = true '将SQL命令先行编译
'加输入参数
Set oPara = oComm.CreateParameter("KeyWord",200,3,100,"南京+上海") '200指明输入参数为字符,3指输入参数,100为输入变量长度
oComm.Parameters.Append oPara
set oRs=oComm.Execute
Set oComm = Nothing
-----------------------
没测试过,不知道对不对,呵呵,你自己调试吧Top
7 楼perfectboyjxl(perfectboy)回复于 2006-03-03 15:07:44 得分 0
谢谢两位的支持!这里我要特别感谢萧萧
你真是偶的救命恩人,在世活佛啊!呵呵~
我的QQ:154105183
再次表示感谢!!!!Top




