主题:[原创]ASP查询请高手指教一下
milu697
[专家分:0] 发布于 2007-08-17 06:32:00
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from aa where '"&split(uid,", ")&"' like '%"&request("ida")&"%' order by id desc",conn,1,2
if not rs.eof then
while not rs.eof
response.Write rs("uid")&"<br>"
rs.movenext
wend
end if
rs.close
set rs=nothing
急!哪位高手看看我这上面哪里出错了,谢谢!
回复列表 (共10个回复)
沙发
wangsdong [专家分:21390] 发布于 2007-08-17 07:27:00
rs.open "select * from aa where '"&split(uid,", ")&"' like '%"&request("ida")&"%' order by id desc",conn,1,2
改成
rs.open "select * from aa where "&split(uid,", ")&" like '%"&request("ida")&"%' order by id desc",conn,1,2
试试
板凳
milu697 [专家分:0] 发布于 2007-08-17 07:48:00
兄弟还是不行啊,类型不匹配啊!
uid 是表 aa 里面的字段
3 楼
wangsdong [专家分:21390] 发布于 2007-08-17 09:58:00
建议你先将sql语句输出来看看,如果正确,再执行查询。
4 楼
zengsi00 [专家分:400] 发布于 2007-08-17 10:21:00
类型不匹配
应该是split(uid,", ") 类型 与request("ida") 这个类型 不一样
需要强制转换才可以
5 楼
milu697 [专家分:0] 发布于 2007-08-17 10:33:00
请问zengsi00
如何强制转换,麻烦把写出来好吗?谢谢,急!
6 楼
milu697 [专家分:0] 发布于 2007-08-17 10:34:00
wangsdong 这位兄弟,能否把写一呢,谢谢!
7 楼
wangsdong [专家分:21390] 发布于 2007-08-17 11:39:00
<%
sql="select * from aa where "
sid=Split(uid,", ")
str=""
For i=0 To UBound(sid)
If str="" then
str=str&sid(i)&" like '"&request("ida")
Else
str=str&" and "&sid(i)&" like '"&request("ida")&"'"
End if
Next
sql=sql&str&" order by id desc"
response.write sql
response.end '先看看sql输出的语句是不是你想要的,如果是,把前面的response.end删除
rs.open sql,conn,1,1
%>
8 楼
tianyu123 [专家分:2570] 发布于 2007-08-17 16:24:00
rs.open "select * from aa where "&split(uid,",")&" like '%"&cstr(request("ida"))&"%' order by id desc",conn,1,2
9 楼
milu697 [专家分:0] 发布于 2007-08-17 17:39:00
还是不行
10 楼
网浪冰炎 [专家分:10] 发布于 2007-09-16 21:11:00
这样很难看得出的,建议你放到数据库里测试一下!!!!!!
我来回复