网络编程
位置:首页>> 网络编程>> Asp编程>> asp如何用ADO批量更新记录?

asp如何用ADO批量更新记录?

  发布时间:2010-06-10 18:42:00 

标签:ADO,批量,更新,asp

如何用ADO批量更新记录?

是的,ADO有这项功能,不过好像用的人不太多(不了解还是不会用呢?):

<HTML>
    <HEAD>
<TITLE>ADO批量更新记录 - asp之家</TITLE>
</HEAD>
    <BODY >
    <%
    Set cn = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.RecordSet")
    cn.Open Application("guestDSN")
    rs.ActiveConnection = cn
    rs.CursorType = adOpenStatic
    rs.LockType = adLockBatchOptimistic
    rs.Source = "SELECT * FROM authors"
    rs.Open
    If (rs("au_fname") = "Liyanbing") or (rs("au_fname") = "Wuxiaotao") Then
    newval = "Songyingte"
    Else
    newval = "Liyanbing"
    End If
    If err <> 0 Then
    %>
    <B>噢,记录集打开失败!</B>
    <% Else %>
    <B>恭喜,记录集打开成功!</B><P>
    <% End If %>
    <H2>在批量更新之前</H2>
    <TABLE BORDER=1>
    <TR>
    <% For i = 0 To rs.Fields.Count - 1 %>
    <TD><B><%= rs(i).Name %></B></TD>
    <% Next %>
    </TR>
    <% For j = 1 To 5 %>
    <TR>
    <% For i = 0 To rs.Fields.Count - 1 %>
    <TD><%= rs(i) %></TD>
    <% Next %>
    </TR>
    <%
    rs.MoveNext
    Next
    rs.MoveFirst
    %>
    </TABLE>
    在表中随机移动并执行更新!<BR>
    <%
    Randomize
    r1 = Int(rnd*3) + 1 
' 累计n次
    r2 = Int(rnd*2) + 1
' 在更新数据之间跳过n位
    For i = 1 To r1
    response.write "累计: " & i & "<BR>"
    rs("au_fname") = newval
    For j = 1 To r2
    rs.MoveNext
    response.write "移动下一个<BR>" 
    Next 
    Next
    rs.UpdateBatch adAffectAll
    rs.Requery
    rs.MoveFirst
    %>
    <% rs.MoveFirst %>
    <H2>在批量更新之后</H2>
    <TABLE BORDER=1>
    <TR>
    <% For i = 0 To rs.Fields.Count - 1 %>
    <TD><B><%= rs(i).Name %></B></TD>
    <% Next %>
    </TR>
    <% For j = 1 To 5 %>
    <TR>
    <% For i = 0 To rs.Fields.Count - 1 %>
    <TD><%= rs(i) %></TD>
    <% Next %>
    </TR>
    <%
    rs.MoveNext
    Next
    rs.Close
    Cn.Close
    %>
    </TABLE>

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com