关于Asp连接数据库时出现参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。

不知道什么原因出现错误,conn.asp文件没问题,因为我直接用sql语句带参数的时候没问题,还有连接生成出来的sql语句也好像没问题,我用response.write(... 不知道什么原因出现错误,conn.asp文件没问题,因为我直接用sql语句带参数的时候没问题,还有连接生成出来的sql语句也好像没问题,我用response.write(sql)试过,希望高手帮忙
2.如果用set rs=cnn.exectute(sql)命令的话要怎么改。和我现在用的有什么区别
错 误 码:0x800A0BB9
错误代码:rs.open sql,conn,1,1
错误描述:参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。

conn.asp代码

<%

db="复件 longxiang_mingyang_001.mdb"
connstr="provider=Microsoft.jet.OLEDB.4.0;Data source="& Server.MapPath(db)
set conn=Server.CreateObject("ADODB.Connection")
conn.open connstr
%>

index.asp文件代码
<!--#include file="conn.asp" -->
<html>
<body>

<form method="post" action="index.asp" name="form1">
<input type="text" name="text1" size="20">
<br><br>
<input type="text" name="text2" size="20">
<br>
<input type="submit" value="查" />
</form>
<br>
<%

if request.form("text1")<>"" then
cond="name like '%" & trim(request.form("text1")) & "%'and "
end if
if request.form("text2")="" and request.form("text1")<>""then
cond="name like '%" & trim(request.form("text1")) & "%'"
end if
if request.form("text2")<>"" then
cond=cond &"master like '%" & trim(request.form("text2")) & "%'"
end if
if cond<>""then
sql="select name,master from class where " & cond
end if
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
do while not rs.eof
response.write(rs("name") &","& rs("master"))
rs.movenext()
response.write("<br>")
loop
%>
</body>
</html>
展开
 我来答
缓步莫迟疑C
2012-01-31 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6217
采纳率:73%
帮助的人:6515万
展开全部
问题出在
if cond<>"" then
sql="select name,master from class where " & cond
end if
如果 cond="" 时,那么你就没有为sql变量赋值,也就是说 sql 将是空字符串,使用空字符串做为SQL查询来调用rs.open方法就会出错了.
一人生百态一
2012-01-31 · TA获得超过492个赞
知道小有建树答主
回答量:819
采纳率:0%
帮助的人:537万
展开全部
if cond<>""then
sql="select name,master from class where " & cond
end if

if cond<>""then
sql="select name,master from class where " & cond
else
sql="select name,master from class where 1=1 "
end if
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z1101385391
2012-02-02 · TA获得超过985个赞
知道小有建树答主
回答量:490
采纳率:0%
帮助的人:520万
展开全部
把所有的class换成[class]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式