WEB开发网
开发学院WEB开发ASP 使用ADO批量更新记录(源代码) 阅读

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

 2000-08-06 10:08:44 来源:WEB开发网   
核心提示:'**' 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
'**************************************
  ' 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>

Tags:使用 ADO 批量

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接