如何用ADO批量更新记录?

  • 格式:doc
  • 大小:45.50 KB
  • 文档页数:3

如何用ADO批量更新记录?

是的,ADO有这项功能,不过好像用的人不太多(不了解还是不会用呢?):

精彩春风之ADO批量更新记录

<%

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") = "Liyanbing") or (rs("au_fname") = "Wuxiaotao") Then

newval = "Songyingte"

Else

newval = "Liyanbing"

End If

If err <> 0 Then

%>

噢,记录集打开失败!

<% Else %>

恭喜,记录集打开成功!

<% End If %>

在批量更新之前

<% 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) %>

在表中随机移动并执行更新!

<%

Randomize

r1 = Int(rnd*3) + 1

' 累计n次

r2 = Int(rnd*2) + 1

' 在更新数据之间跳过n位

For i = 1 To r1

response.write "累计: " & i & "
"

rs("au_fname") = newval

For j = 1 To r2

rs.MoveNext

response.write "移动下一个
"

Next

Next

rs.UpdateBatch adAffectAll

rs.Requery

rs.MoveFirst

%>

<% rs.MoveFirst %>

在批量更新之后

<% 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) %>