蓝森林首页 | 返回主页 | 本站地图 | 站内搜索 | 联系信箱 |
 您目前的位置:首页 > 自由软件 > 技术交流 > 应用编程


    

蓝森林 http://www.lslnet.com 2006年8月25日 8:28

[ASP]更新数据库时,SQL覆盖的顺序这样会出错?

我这样更新,会出问题;有的服务器上正常,而有的服务器不能正常执行。
我想知道这样更新,是不是顺着代码的顺序执行?
我发现:
yesdayip覆盖了rs1("day2ip")
yesdaypv覆盖了rs1("day2pv")
rs1("day2pv")覆盖了rs1("yesdaypv")
为什么呢??
[code]
<%
'更新
sql1="select * from cnt where id =1"                 
set rs1=server.createobject("adodb.recordset")                  
rs1.open sql1,conn,1,3
rs1("day2ip")=rs1("yesdayip")
rs1("day2pv")=rs1("yesdaypv")
rs1("yesdayip")=yesdayip '已赋值
rs1("yesdaypv")=yesdaypv '已赋值
rs1("totalpv")=rs1("totalpv")+yesdaypv
rs1("totalip")=rs1("totalip")+yesdayip
rs1.update
rs1.close
set rs1=nothing
%>
[/code]

有的服务器上正常,而有的服务器不能正常执行。
这样的情况很纳闷啊。
你的代码好像没问题啊。

不过我想这样写,应该不会有问题了吧
[code]
<%
'取值
sql1="select yesdayip,yesdaypv from cnt where id =1"                 
set rs1=conn.execute(sql1)
day2ip=rs1(0)
day2pv=rs1(1)
set rs1=nothing

yesdayip=yesdayip() '函数取值
yesdaypv=yesdaypv() '函数取值

'更新
sql="update cnt set day2ip="&day2ip&",day2pv="&day2pv&",yesdayip="&yesdayip&",yesdaypv="&yesdaypv&",totalip=totalip+"&yesdayip&",totalpv=totalpv+"&yesdaypv&" where id = 1"
conn.execute(sql)
%>
[/code]

实践是检验真理的唯一标准哈。




Copyright © 1999-2000 LSLNET.COM. All rights reserved. 蓝森林网站 版权所有。 E-mail : webmaster@lslnet.com