
 
 | 
| 技术资料  > ASP技术 > 客户端相关 : 使用ADO的批量更新方法UpdateBatch |  
使用ADO的批量更新方法UpdateBatch March 25,2004 |  
    '************************************** 
    ' 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 %> 
    <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> |  
 
 | 
  
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved