asp错误 参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。

两个文件,在A文件里查到ACCESS数据,然后从A文件提交到B文件进行更改,改好好之后返回A文件,现在问题是返回后数据更改了,但A文件出现ADODB.Recordset错... 两个文件,在A文件里查到ACCESS数据,然后从A文件提交到B文件进行更改,改好好之后返回A文件,现在问题是返回后数据更改了,但A文件出现
ADODB.Recordset 错误 '800a0bb9'
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。

/kccx.asp,行 60

A文件代码

<!--#include file="conn.asp"-->
<head>

<title>库存查询</title>
</head>

<body>
<form name="form1" method="post" action="kccx.asp">
花型
<label>
<input name="cxpm" type="text" id="cxpm">
</label>
<p>颜色
<label>
<input name="cxys" type="text" id="cxys">
</label>
</p>
<p>
<label>
<input type="submit" name="Submit" value="查询">
</label>
</p>
</form>

<table width="100%" border="1" cellspacing="1" cellpadding="1">
<tr>
<th>ID</th>
<th>入库日期</th>
<th>花型</th>
<th>颜色</th>
<th>批号</th>
<th>等级</th>
<th>备注</th>
<th>出库</th>
</tr>

<%
set rs = server.CreateObject("adodb.recordset")
'查询数据库
cxpm = request.Form("cxpm")'要查询的名字
cxys=request.Form("cxys")

if cxys="" and cxpm<>"" then
sql = "select * from kc where pm = '"&cxpm&"' and ddh is null "
end if

if cxys<>"" and cxpm="" then
sql = "select * from kc where ys = '"&cxys&"' and ddh is null "
end if

if cxys<>"" and cxpm<>"" then
sql = "select * from kc where ys = '"&cxys&"' and pm = '"&cxpm&"' and ddh is null "
end if

rs.open sql,conn,1,1
do while not rs.eof%>
<tr align="center">
<td><%=rs("id")%></td>
<td><%=rs("rkrq")%></td>
<td><%=rs("pm")%></td>
<td><%=rs("ys")%></td>
<td><%=rs("jh")%></td>
<td><%=rs("dj")%></td>
<td><%=rs("bz")%></td>
<td><a href="chuku.asp?id=<%=rs("id")%>" target="_self">出库</a></td>
</tr>
<p>
<%rs.movenext
loop
rs.close
%>

</table>
</p>
<p> </p>
</body>
</html>

B文件代码
<!--#include file="conn.asp"-->
<%
exec="select * from kc where id="&request.form("id")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,3
%>
<%

rs("ckrq")=request.form("ckrq")
rs("ddh")=request.form("ddh")
rs("ckjsr")=request.form("ckjsr")
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
response.redirect"kccx.asp"
%>
展开
 我来答
缓步莫迟疑C
2012-04-08 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6217
采纳率:73%
帮助的人:6511万
展开全部
if语句那里有问题,连续的三个if语句并不能处理两个条件都为空的情况,所以当你从B页直接返回kccx.asp这个页时,request.form集合是取不到任何值的,那么就会有两个变量都是空值的情况,但你却没有处理,这就会造成sql变量没有被赋过值,这时你使用sql变量作为参数来调用rs.open方法就会失败了.
再加一个if块,用于处理两个都是空值的情况.
追问
谢谢!那我应该怎么改呢??
追答
加一个IF块,加在那三个连续的IF后面就可以,这样可以保证在没有提供条件时返回全部记录.
if sql="" OR IsEmpty(sql) then
sql = "select * from kc"
end if
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式