繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> 数据库相关 >> 使用ADO的批量更新方法UpdateBatch

使用ADO的批量更新方法UpdateBatch

2004-10-01 08:26:10  作者:  来源:互联网  浏览次数:7  文字大小:【】【】【
简介: '************************************** ' Name: Batch Update using ADO ' Description:ADO has a great batch upda ' te feature that not many people take adv ' antage of. ...

'**************************************

' 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

' ).

'**************************************

Place Document Title Here

<%

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

%>

Error opening RecordSet

<% Else %>

Opened Successfully

<% End If %>

Before Batch Update

<% For i = 0 To rs.Fields.Count - 1 %>

<% Next %>

<% For j = 1 To 5 %>

<% For i = 0 To rs.Fields.Count - 1 %>

<% Next %>

<%

rs.MoveNext

Next

rs.MoveFirst

%>

<%= rs(i).Name %>
<%= rs(i) %>

Move randomly In the table and perform updates To table.

<%

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 & "
"

rs("au_fname") = newval

For j = 1 To r2

rs.MoveNext

response.write "Move Next
"

Next

Next

rs.UpdateBatch adAffectAll

rs.Requery

rs.MoveFirst

%>

<% rs.MoveFirst %>

After Changes

<% For i = 0 To rs.Fields.Count - 1 %>

<% Next %>

<% For j = 1 To 5 %>

<% For i = 0 To rs.Fields.Count - 1 %>

<% Next %>

<%

rs.MoveNext

Next

rs.Close

Cn.Close

%>

<%= rs(i).Name %>
<%= rs(i) %>

责任编辑:admin
相关文章