使用ADO批量更新记录(源代码)

  • 来源: 互联网 作者: 若水   2008-03-17/11:46
  • '**************************************
        ' Name: Batch Update using ADO
        ' Description:ADO has a great batch upda
        '     te feature that not many people take adv
        '     antage of. You can use it to update many
        '     records at once without making multiple
        '     round trips to the database. Here is how
        '     to use it.
        ' By: Found on the World Wide Web
        '
        '
        ' Inputs:None
        '
        ' Returns:None
        '
        'Assumes:None
        '
        'Side Effects:None
        '
        'Warranty:
        'code provided by Planet Source Code(tm)
        '     (http://www.Planet-Source-Code.com) 'as
        '     is', without warranties as to performanc
        '     e, fitness, merchantability,and any othe
        '     r warranty (whether expressed or implied
        '     ).
        '**************************************
        
        <HTML>
        <HEAD><TITLE>Place Document Title Here</TITLE></HEAD>
        <BODY BGColor=ffffff Text=000000>
        <%
        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") = "Paul") or (rs("au_fname") = "Johnson") Then
        newval = "Melissa"
        Else
        newval = "Paul"
        End If
        If err <> 0 Then
        %>
        <B>Error opening RecordSet</B>
        <% Else %>
        <B>Opened Successfully</B><P>
        <% End If %>
        <H2>Before Batch Update</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>
        Move randomly In the table and perform updates To table.<BR>
        <%
        Randomize
        r1 = Int(rnd*3) + 1 ' n Itterations
        r2 = Int(rnd*2) + 1 ' n places skipped between updates
        For i = 1 To r1
        response.write "Itteration: " & i & "<BR>"
        rs("au_fname") = newval
        For j = 1 To r2
        rs.MoveNext
        response.write "Move Next<BR>"
        Next
        Next
        rs.UpdateBatch adAffectAll
        rs.Requery
        rs.MoveFirst
        %>
        <% rs.MoveFirst %>#p#分页标题#e#
        <H2>After Changes</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>

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多