傳送更新:UpdateBatch 方法
下列程式代碼會將LockType屬性設定為adLockBatchOptimistic,並將 CursorLocation 設定為adUseClient,以批次模式開啟 Recordset。 它會新增兩筆新記錄,並變更現有記錄中的欄位值、儲存原始值,然後呼叫 UpdateBatch 將變更傳回數據源。
備註
'BeginBatchUpdate
strConn = "Provider=SQLOLEDB;Initial Catalog=Northwind;" & _
"Data Source=MySQLServer;Integrated Security=SSPI;"
strSQL = "SELECT ShipperId, CompanyName, Phone FROM Shippers"
Set objRs1 = New ADODB.Recordset
objRs1.CursorLocation = adUseClient
objRs1.Open strSQL, strConn, adOpenStatic, adLockBatchOptimistic, adCmdText
' Change value of Phone field for first record in Recordset, saving value
' for later restoration.
intId = objRs1("ShipperId")
sPhone = objRs1("Phone")
objRs1("Phone") = "(111) 555-1111"
'Add two new records
For i = 0 To 1
objRs1.AddNew
objRs1(1) = "New Shipper #" & CStr((i + 1))
objRs1(2) = "(nnn) 555-" & i & i & i & i
Next i
' Send the updates
objRs1.UpdateBatch
'EndBatchUpdate
如果您在呼叫 UpdateBatch 方法時編輯當前記錄或新增新記錄,ADO 會自動呼叫 Update 方法,將任何暫止的變更儲存至目前記錄,再將批次變更傳送至提供者。