使用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>
' 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>
[]
- ››使用脚本恢复WinXP系统的用户登录密码
- ››使用phpMyadmin创建数据库及独立数据库帐号
- ››使用Zend Framework框架中的Zend_Mail模块发送邮件...
- ››使用cout标准输出如何控制小数点后位数
- ››使用nofollow标签做SEO的技巧
- ››使用 WebSphere Message Broker 的 WebSphere Tra...
- ››使用SQL Server事件探查器做应用程序的性能分析
- ››使用SQL Server事件探查器分析死锁原因
- ››Adobe发布Acrobat X 不支持苹果iOS系统
- ››使用纯文本文件打造WCF服务
- ››使用 Dojo 开发定制 Business Space 小部件,第 4...
- ››使用 ADDRESS 与 INDIRECT函数查询信息
更多精彩
赞助商链接