无法更新纪录!!!高分在线等

markwong 2006-05-27 03:54:55
set rs=server.createobject("adodb.recordset")
sql2="select * from products where cpid="&id
rs.open sql2,conn,1,3
rs("cpbh")=cpbh
rs("cpmc")=cpmc
rs("gsmc")=sccj
rs("cpsb")=cpsb
rs("cpcd")=cpcd
rs("cpjg")=cpjg
rs("cpgg")=cpgg
rs("cpms")=xxsm
rs("jysm")=jysm
rs("date")=date

if picture<>"" then
rs("cptp")=picture
end if
rs.update
rs.close


报错为基于查询的更新失败,因为没发现要更新的行。
...全文
266 21 打赏 收藏 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
什么都不能 2006-05-28
  • 打赏
  • 举报
回复
好想是没有找到记录,看一下你的数据库中是不是又符合条件的记录
最好加上非空判断
minkingshine 2006-05-28
  • 打赏
  • 举报
回复
set rs=server.createobject("adodb.recordset")
sql2="select * from products where cpid="&id
rs.open sql2,conn,1,3

rs.update
rs.close


报错为基于查询的更新失败,因为没发现要更新的行。
===============================================
把sql2 改成rs.source
另外看看你要更新的纪录到底在数据库中有没有(认真看看ID的值)
GreenInfo 2006-05-28
  • 打赏
  • 举报
回复
id变量值是从哪来的,如果是从其他页面传过来的应该需要类型转换.建议将id换成具体数值1看看
rkismet 2006-05-28
  • 打赏
  • 举报
回复
一,你的date函数使用 我感觉不规范,
二、id的调用 应该使用cint(id),这样比较完整,不容易出错,
三、就是类型不匹配,你再试试吧,
lina19820810 2006-05-28
  • 打赏
  • 举报
回复
楼主,我想问一下您的数据表中的id的数据类型是整型还是字符型?
「已注销」 2006-05-27
  • 打赏
  • 举报
回复
楼主查询的id数据库中似乎不存在

挑一个合适的吧

值是肯定传进来的,如果id没有值,那么
抱错的应该是这句SQL:
select * from products where cpid=
ice241018 2006-05-27
  • 打赏
  • 举报
回复
如果是access数据库
把数据库的权限设置一下
右击--》属性---》安全--》users
将该用户的读取和写入的权限选上
gxh7506 2006-05-27
  • 打赏
  • 举报
回复
如果id可以传过来得不到结果,有可能你的数据库里没这个id值的记录,再检查下数据类型
ice241018 2006-05-27
  • 打赏
  • 举报
回复
你仔细检查一下的数据字段
看写错了没有?
还有你的数据库中表的字段,是否和你的控件字段一致。
你的控件name值是否准确无误,是否和数据库的字段匹配
markwong 2006-05-27
  • 打赏
  • 举报
回复
我这id 可以传过来
whzh719 2006-05-27
  • 打赏
  • 举报
回复
sql2="select * from products where cpid="&id
改为
sql2="select * from products where cpid="&request("id")
试试看
id好像没传过来
ad8326 2006-05-27
  • 打赏
  • 举报
回复
用sql查询分析器看一下
moodboy1982 2006-05-27
  • 打赏
  • 举报
回复
看数据对不对。
你再尝试用Update来更新。如果失败,那就是你数据有问题。
gxh7506 2006-05-27
  • 打赏
  • 举报
回复
response.write id '看这里的id有没有得到值?有值的话再检查下id的数据类型是否和cpid一致
set rs=server.createobject("adodb.recordset")
sql2="select * from products where cpid="&id
rs.open sql2,conn,1,3
'更新时,返回了指定条件的记录集后再更新
if not rs.eof then
rs("cpbh")=cpbh
rs("cpmc")=cpmc
rs("gsmc")=sccj
rs("cpsb")=cpsb
rs("cpcd")=cpcd
rs("cpjg")=cpjg
rs("cpgg")=cpgg
rs("cpms")=xxsm
rs("jysm")=jysm
rs("date")=date

if picture<>"" then
rs("cptp")=picture
end if
rs.update
rs.close
'在这里加入调试信息看看
else
response.write "未找到符合条件的更新记录,不能更新"
end if
markwong 2006-05-27
  • 打赏
  • 举报
回复
已经改过参数了最后还是报错!
markwong 2006-05-27
  • 打赏
  • 举报
回复

用response.write sql2打出来的那个sql语句
select * from products where cpid=1300
ice241018 2006-05-27
  • 打赏
  • 举报
回复
是不是你的id值没有传过去
jinfeng003 2006-05-27
  • 打赏
  • 举报
回复
先response.write sql2,看看你的查询语句对不对
可能是没有查出来记录就更新了,肯定不对
还有rs.open ....3,3最好是3,3,开最大权限,读写都可以
gxh7506 2006-05-27
  • 打赏
  • 举报
回复
set rs=server.createobject("adodb.recordset")
sql2="select * from products where cpid="&id
rs.open sql2,conn,1,3
if not rs.eof then
rs("cpbh")=cpbh
rs("cpmc")=cpmc
rs("gsmc")=sccj
rs("cpsb")=cpsb
rs("cpcd")=cpcd
rs("cpjg")=cpjg
rs("cpgg")=cpgg
rs("cpms")=xxsm
rs("jysm")=jysm
rs("date")=date

if picture<>"" then
rs("cptp")=picture
end if
rs.update
rs.close
end if
看看id有没值?或再检查下数据类型
markwong 2006-05-27
  • 打赏
  • 举报
回复
那么清静!!!!!!!!

那位英雄给看看!!!!!!!!!!!
加载更多回复(1)

28,401

社区成员

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

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