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
%> 展开
2个回答
2012-09-01
展开全部
你这种方法只适用于数据量小的时候,如果数据量一大,IIS就很容易卡死,鉴于这咱情况,你最好按xid升序或者降序排序,每次取前500条(或者1000条,这个需要根据你服务器配置来定),假设为升序排序,当取得的数据更新完后,再取大于第一次所取数据的最大ID的前500条数据更新,依次类推,起到数据更新完成。另外,这些你可以写一个存储过程,利用参数交同存储过程来完成,要比用IIS来的快来的方便。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询