我这个过滤条件有错误?

流水之风 2005-06-16 02:23:29
下面是过滤数据的代码,运行后总是提示

“ADODB.Recordset(0x800A0BB9)参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。”

我不觉得过滤代码有什么问题阿,希望各位朋友能帮忙看看这是怎么回事,谢谢!

<%
Dim tiaojian
Dim objConn
tiaojian="(类别1 like '*" & request.querystring("name") & "*' or 类别2 like '*" & request.querystring("name") & "*' or 类别3 like '*" & request.querystring("name") & "*' or 生产厂商 like '*" & request.querystring("name") & "*' or 商品型号 like '*" & request.querystring("name") & "*' or 信息 like '*" & request.querystring("name") & "*') and 现货 = '" & request.querystring("type4") & "'"
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("data.mdb")
objconn.open
set rs=server.createobject("ADODB.Recordset")
rs.cursorlocation=3
rs.sort="发布时间 DESC"
rs.open "商品资料",objconn,3,1,2
rs.filter=""
rs.filter=tiaojian
…………
...全文
92 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yousite1 2005-09-07
  • 打赏
  • 举报
回复
太长了,不看。
超级大笨狼 2005-09-07
  • 打赏
  • 举报
回复
写入权限问题。检查文件夹安全属性、WEB站点读写权限。

---------------------------------------------------------------



adErrInvalidArgument

0x800A0BB9

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

rs.open "商品资料 ",conn,3,2


red_free 2005-06-16
  • 打赏
  • 举报
回复
汗一个。。。惭愧了。
iamgsyy 2005-06-16
  • 打赏
  • 举报
回复
*一定要改成%
以前我在这里错过
流水之风 2005-06-16
  • 打赏
  • 举报
回复
括号本来就有阿
red_free 2005-06-16
  • 打赏
  • 举报
回复
tiaojian="(类别1 like '*" & request.querystring("name") & "*' or 类别2 like '*" & request.querystring("name") & "*' or 类别3 like '*" & request.querystring("name") & "*' or 生产厂商 like '*" & request.querystring("name") & "*' or 商品型号 like '*" & request.querystring("name") & "*' or 信息 like '*" & request.querystring("name") & "*') and 现货 = '" & request.querystring("type4") & "'"


--------------以上是你的代码。注意and的优先级别比or高,是考虑下把你该用括号括起来的or语句用括号括起来比如
tiaojian="((类别1 like '*" & request.querystring("name") & "*' or 类别2 like '*" & request.querystring("name") & "*' or 类别3 like '*" & request.querystring("name") & "*' or 生产厂商 like '*" & request.querystring("name") & "*' or 商品型号 like '*" & request.querystring("name") & "*' or 信息 like '*" & request.querystring("name") & "*')) and 现货 = '" & request.querystring("type4") & "'"

nbtvujwc 2005-06-16
  • 打赏
  • 举报
回复
流水之风 2005-06-16
  • 打赏
  • 举报
回复
搞错了,上面这个代码帖错了,加入and后应该是
<%
Dim Conn
Dim tiaojian
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("hxjygd69f7.mdb")
conn.open
set rs=server.createobject("ADODB.Recordset")
rs.cursorlocation=3
rs.sort="ID ASC"
rs.open "商品资料",conn,3,1,2
tiaojian="现货 = '无(可预定)'" & " and (类别1 like '*" & "飞越" & "*' or 类别2 like '*飞越*')"
rs.filter=tiaojian
if not rs.eof then
rs.movefirst
response.write rs("ID")
else
response.write "没有找到商品资料"
end if
%>
流水之风 2005-06-16
  • 打赏
  • 举报
回复
不行的,我将过滤条件中所有的"*"改为"%"后也是一样,不知道为什么,似乎使用and和or一起就会出现错误,例如说下面这个就没问题
<%
Dim Conn
Dim tiaojian
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("hxjygd69f7.mdb")
conn.open
set rs=server.createobject("ADODB.Recordset")
rs.cursorlocation=3
rs.sort="ID ASC"
rs.open "商品资料",conn,3,1,2
tiaojian="现货 = '无(可预定)'" & " or (类别1 like '*" & "飞越" & "*' or 类别2 like '*飞越*')"
rs.filter=tiaojian
if not rs.eof then
rs.movefirst
response.write rs("ID")
else
response.write "没有找到商品资料"
end if
%>

而加入and后就会出现错误提示“ADODB.Recordset (0x800A0BB9)
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。”
<%
Dim Conn
Dim tiaojian
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("hxjygd69f7.mdb")
conn.open
set rs=server.createobject("ADODB.Recordset")
rs.cursorlocation=3
rs.sort="ID ASC"
rs.open "商品资料",conn,3,1,2
tiaojian="现货 = '无(可预定)'" & " or (类别1 like '*" & "飞越" & "*' or 类别2 like '*飞越*')"
rs.filter=tiaojian
if not rs.eof then
rs.movefirst
response.write rs("ID")
else
response.write "没有找到商品资料"
end if
%>
lwj180 2005-06-16
  • 打赏
  • 举报
回复
tiaojian="(类别1 like '*" & request.querystring("name") & "*' or 类别2 like '*" & request.querystring("name") & "*' or 类别3 like '*" & request.querystring("name") & "*' or 生产厂商 like '*" & request.querystring("name") & "*' or 商品型号 like '*" & request.querystring("name") & "*' or 信息 like '*" & request.querystring("name") & "*') and 现货 = '" & request.querystring("type4") & "'"

“*”改为“%”应该可以 试试
Dreampeng 2005-06-16
  • 打赏
  • 举报
回复
up

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧