一个asp网页的问题,如何解决;BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作。。。
---------------------------提示---------------------------<fontface="Arial"size=2><p>AD...
---------------------------
提示
---------------------------
<font face="Arial" size=2><p>ADODB.Recordset '800a0bcd'<p>BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。<p>\修改商品.asp, line
源码:
<!--#include file="conn.asp"-->
<!--#include file="fangsql.asp"-->
<%
dim shangpinmingcheng,shangpinxinxi,shangpinjiage
shangpinmingcheng=request("商品名称")
shangpinxinxi=request("商品信息")
shangpinjiage=request("商品价格")
if len(shangpinmingcheng)=0 or len(shangpinxinxi)=0 or len(shangpinjiage)=0 then
response.Write("要修改的商品里不能为空.")
response.end
end if
=======================================================================
rs.open "select * from 商品信息数据 where 商品名称='" & shangpinmingcheng &"'" ,con,1,3
rs("商品名称")=shangpinmingcheng
rs("商品信息")=shangpinxinxi
rs("商品价格")=shangpinjiage
rs.Update
rs.Close
response.Write("修改商品成功.")
response.end
%> 展开
提示
---------------------------
<font face="Arial" size=2><p>ADODB.Recordset '800a0bcd'<p>BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。<p>\修改商品.asp, line
源码:
<!--#include file="conn.asp"-->
<!--#include file="fangsql.asp"-->
<%
dim shangpinmingcheng,shangpinxinxi,shangpinjiage
shangpinmingcheng=request("商品名称")
shangpinxinxi=request("商品信息")
shangpinjiage=request("商品价格")
if len(shangpinmingcheng)=0 or len(shangpinxinxi)=0 or len(shangpinjiage)=0 then
response.Write("要修改的商品里不能为空.")
response.end
end if
=======================================================================
rs.open "select * from 商品信息数据 where 商品名称='" & shangpinmingcheng &"'" ,con,1,3
rs("商品名称")=shangpinmingcheng
rs("商品信息")=shangpinxinxi
rs("商品价格")=shangpinjiage
rs.Update
rs.Close
response.Write("修改商品成功.")
response.end
%> 展开
3个回答
展开全部
rs.open "select * from 商品信息数据 where 商品名称='" & shangpinmingcheng &"'" ,con,1,3
这句话会打开数据库,并且可读写。
但你要确认条件参数正确,where 商品名称='"&shangpinmengcheng&"'",有可能数据库查不到数据中有这个参数。所以打开的数据库就是为空。
那么,后面,你再rs("商品名称").....就可能会出错。
改为这样:
rs.open "select * from 商品信息数据 where 商品名称='" & shangpinmingcheng &"'" ,con,1,3
if not(rs.eof and rs.bof) then
rs("商品名称")=shangpngmingcheng
.....
rs.update
response.write("修改商品成功")
else
response.write("数据不存在")
end if
这样再看看吧
这句话会打开数据库,并且可读写。
但你要确认条件参数正确,where 商品名称='"&shangpinmengcheng&"'",有可能数据库查不到数据中有这个参数。所以打开的数据库就是为空。
那么,后面,你再rs("商品名称").....就可能会出错。
改为这样:
rs.open "select * from 商品信息数据 where 商品名称='" & shangpinmingcheng &"'" ,con,1,3
if not(rs.eof and rs.bof) then
rs("商品名称")=shangpngmingcheng
.....
rs.update
response.write("修改商品成功")
else
response.write("数据不存在")
end if
这样再看看吧
更多追问追答
追问
这样就老提示数据不存在了
追答
那是因为你前面shangpinmingcheng=request("商品名称")不正确
你改为shangpinmingcheng=trim(request("商品名称"))再试试,可能在获取信息时,有空格,这样就可以去掉空格。
仔细检查一下你的参数
比如你可以这样检查
response.Write("select * from 商品信息数据 where 商品名称='" & shangpinmingcheng &"'")
这样,就可以显示出,你这条SQL语句是否有问题了
我想你得到的显示,应该是select * from 商品信息数据 where 商品名称=''
展开全部
在更新之前先判断记录集是否为空
if rs.BOF then
response.end
end if
rs("商品名称")=shangpinmingcheng
rs("商品信息")=shangpinxinxi
rs("商品价格")=shangpinjiage
rs.Update
rs.Close
response.Write("修改商品成功.")
response.end
如果还出错,说明你查询出来的不只是一条记录
if rs.BOF then
response.end
end if
rs("商品名称")=shangpinmingcheng
rs("商品信息")=shangpinxinxi
rs("商品价格")=shangpinjiage
rs.Update
rs.Close
response.Write("修改商品成功.")
response.end
如果还出错,说明你查询出来的不只是一条记录
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
地方的 啊所发生的阿斯达俺的啊啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询