标题:[已解决]rs.update的奇怪问题,大家来看看,问题出在哪儿
只看楼主
slfyeye
Rank: 1
来 自:上海
等 级:新手上路
威 望:1
帖 子:163
专家分:0
注 册:2006-3-5
 问题点数:0 回复次数:15 
[已解决]rs.update的奇怪问题,大家来看看,问题出在哪儿
是这样的,我用session保存了待更改的产品id,当我修改某产品图片路径时,用了如下语句:
====================
Dim rs,strSql
Set rs = Server.CreateObject("ADODB.Recordset")
strSql = "select imgpath from product where id=" & Session("id") 'imgpath为access数据库中保存的图片路径
rs.open strSql,G_CONN,1,3 '这句有的,不好意思,漏打上去了刚才。
rs("imgpath")="一个新的路径字符串"
rs.update
rs.close
Set rs = Nothing
Session("id")=""
====================
可是这么写总是变成新添加一条记录(我这里并没有写rs.addnew)而不是更改原记录。
也尝试过改为:
1,"insert into product(imgpath) values('新路径') where id=" & Session("id")
2, "update product set imgpath ='新路进’where id=" & Session("id")
但结果和前面一样变成新建了一条记录,并把结果填写到对应的imgpath字段内。
高手来帮我看一下吧,我懊恼了N久,还是没发现原因所在。
谢谢大家!

[此贴子已经被作者于2007-8-21 10:18:56编辑过]

搜索更多相关主题的帖子: update 数据库 Set 
2007-08-20 15:28
ayue222
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:341
专家分:0
注 册:2007-7-25
得分:0 
Dim rs,strSql
Set rs = Server.CreateObject("ADODB.Recordset")
strSql = "select imgpath from product where id=" & Session("id") 'imgpath为access数据库中保存的图片路径
rs.open strsql,conn,1,3 //少了这句吧 ..
rs("imgpath")="一个新的路径字符串"
rs.update
rs.close
Set rs = Nothing
Session("id")=""

如果用 conn.execute ("update product set imgpath ='新路进’where id=" & Session("id")) 这样也是可行的 ....
2007-08-20 15:32
slfyeye
Rank: 1
来 自:上海
等 级:新手上路
威 望:1
帖 子:163
专家分:0
注 册:2006-3-5
得分:0 
有这句的,呵呵,不好意思,刚才漏了。继续想听听高手的意见,问题的原因不知道在哪儿。。。
G_CONN.Execute +上面的语句1或2我都试过,但是出现了同样的问题。
我测试过,该页面传递的Session("id")完全正确。但是最后为什么变成添加新纪录了而不是更改原记录的字段?

[此贴子已经被作者于2007-8-20 15:41:14编辑过]


2007-08-20 15:37
ayue222
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:341
专家分:0
注 册:2007-7-25
得分:0 
id="&Cint(Session("id"))
2007-08-20 15:44
slfyeye
Rank: 1
来 自:上海
等 级:新手上路
威 望:1
帖 子:163
专家分:0
注 册:2006-3-5
得分:0 
以下是引用ayue222在2007-8-20 15:44:34的发言:
id="&Cint(Session("id"))

谢谢楼上那位朋友,我这样试了一下,还是原来的状况,呜呜


Session传过来的id是没有问题的。我用Response.write测试过,正确的。

[此贴子已经被作者于2007-8-20 15:51:06编辑过]


2007-08-20 15:50
ayue222
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:341
专家分:0
注 册:2007-7-25
得分:0 
Dim rs,strSql
Set rs = Server.CreateObject("ADODB.Recordset")
strSql = "select imgpath from product where id=" & Cint(Session("id")) 'imgpath为access数据库中保存的图片路径
rs.open strsql,conn,1,3
if not (rs.bof and rs.eof) then
rs("imgpath")="一个新的路径字符串"
rs.update
end if
rs.close
Set rs = Nothing
Session("id")=""

还有就是你的数据库应该是*.mdb而不是*.ldb...
2007-08-20 15:56
slfyeye
Rank: 1
来 自:上海
等 级:新手上路
威 望:1
帖 子:163
专家分:0
注 册:2006-3-5
得分:0 

肯定有记录的,还是找不到问题的根源。。。。


2007-08-20 16:12
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
得分:0 
response.write session("id")
你看看这个值是不是你要更新对应的id,感觉问题应该出在这里
2007-08-20 16:57
slfyeye
Rank: 1
来 自:上海
等 级:新手上路
威 望:1
帖 子:163
专家分:0
注 册:2006-3-5
得分:0 
以下是引用madpbpl在2007-8-20 16:57:40的发言:
response.write session("id")
你看看这个值是不是你要更新对应的id,感觉问题应该出在这里

我用过这句语句来测试,session 传值正常!


2007-08-20 17:02
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
得分:0 
把你的全部代码贴上

专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2007-08-20 17:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-164100-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.551468 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved