ASP如何批量修改多个字段值
表名是:dingdan包含字段idddjsddyj等我想将要修改的新数据制作成一个新的表xdingdan包含字段xidxddjsxddyj然后通过查询语句当id=xid时...
表名是:dingdan 包含字段 id ddjs ddyj 等
我想将要修改的新数据制作成一个新的表 xdingdan 包含字段 xid xddjs xddyj
然后通过查询语句当id=xid时就将xdingdan表里的xddjs和xddyj字段值更新dingdan表里的ddjs 和ddyj 字段,修改成功后再先循环修改下一个数据,直到将xdingdan里的全部数据新到dingdan表里即完成。我写了一段代码,但一运行就一直处于运行中,网站就卡死,也没修改成功,麻烦大家帮修改下代码,或帮写一代全新的代码,谢谢
<%
Set rsx = Server.CreateObject("ADODB.Recordset")
sqlx="select * from xdingdan "
rsx.open sqlx,conn1,1,3
do while not rsx.eof
if not rsx.eof then
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select * from dingdan where id="&rsx("xid")&""
rs.open sql,conn,1,3
if not rs.eof then
rs("xddjs")=rsx("xddjs")
rs("ddyj")=rsx("xddyj")
rs.update
rs.movenext
Response.write"OK</br>"
end if
end if
loop
rsddid.close
set rsddid=nothing
%> 展开
我想将要修改的新数据制作成一个新的表 xdingdan 包含字段 xid xddjs xddyj
然后通过查询语句当id=xid时就将xdingdan表里的xddjs和xddyj字段值更新dingdan表里的ddjs 和ddyj 字段,修改成功后再先循环修改下一个数据,直到将xdingdan里的全部数据新到dingdan表里即完成。我写了一段代码,但一运行就一直处于运行中,网站就卡死,也没修改成功,麻烦大家帮修改下代码,或帮写一代全新的代码,谢谢
<%
Set rsx = Server.CreateObject("ADODB.Recordset")
sqlx="select * from xdingdan "
rsx.open sqlx,conn1,1,3
do while not rsx.eof
if not rsx.eof then
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select * from dingdan where id="&rsx("xid")&""
rs.open sql,conn,1,3
if not rs.eof then
rs("xddjs")=rsx("xddjs")
rs("ddyj")=rsx("xddyj")
rs.update
rs.movenext
Response.write"OK</br>"
end if
end if
loop
rsddid.close
set rsddid=nothing
%> 展开
1个回答
展开全部
其实这个问题很简单拉,就一个sql语句就可以解决的问题,请试下吧
update dingdan set xddjs=xdingdan.xddjs,ddyj=xdingdan.ddyj From xdingdan,dingdan where dingdan.id=xdingdan.xid
再回答下你上面的代码为什么会卡死,是因为你第一层循环没有移动记录的原因
do while not rsx.eof
'if not rsx.eof then '这里就不要判断了,上面do while not rsx.eof已经判断过了
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select * from dingdan where id="&rsx("xid")&""
rs.open sql,conn,1,3
if not rs.eof then
rs("xddjs")=rsx("xddjs")
rs("ddyj")=rsx("xddyj")
rs.update
rs.movenext
Response.write"OK</br>"
end if
'end if '这里就不要了
rsx.movenext '这里你漏掉了,所以你机子卡死掉了。。。
loop
update dingdan set xddjs=xdingdan.xddjs,ddyj=xdingdan.ddyj From xdingdan,dingdan where dingdan.id=xdingdan.xid
再回答下你上面的代码为什么会卡死,是因为你第一层循环没有移动记录的原因
do while not rsx.eof
'if not rsx.eof then '这里就不要判断了,上面do while not rsx.eof已经判断过了
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select * from dingdan where id="&rsx("xid")&""
rs.open sql,conn,1,3
if not rs.eof then
rs("xddjs")=rsx("xddjs")
rs("ddyj")=rsx("xddyj")
rs.update
rs.movenext
Response.write"OK</br>"
end if
'end if '这里就不要了
rsx.movenext '这里你漏掉了,所以你机子卡死掉了。。。
loop
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询