ADO: Метод Update и UpdateBatch - VB
Формулировка задачи:
Скажите пожалуйста различия работы двух методов компонента: Update, UpdateBatch
Решение задачи: «ADO: Метод Update и UpdateBatch»
textual
Листинг программы
- Public Sub UpdateBatchX()
- Dim rstTitles As ADODB.Recordset
- Dim strCnn As String
- Dim strTitle As String
- Dim strMessage As String
- ' Assign connection string to variable.
- strCnn = 'Provider=sqloledb;' & _
- 'Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; '
- Set rstTitles = New ADODB.Recordset
- rstTitles.CursorType = adOpenKeyset
- rstTitles.LockType = adLockBatchOptimistic
- rstTitles.Open 'titles', strCnn, , , adCmdTable
- rstTitles.MoveFirst
- ' Loop through recordset and ask user if she wants
- ' to change the type for a specified title.
- Do Until rstTitles.EOF
- If Trim(rstTitles!Type) = 'psychology' Then
- strTitle = rstTitles!Title
- strMessage = 'Title: ' & strTitle & vbCr & _
- 'Change type to self help?'
- If MsgBox(strMessage, vbYesNo) = vbYes Then
- rstTitles!Type = 'self_help'
- End If
- End If
- rstTitles.MoveNext
- Loop
- ' Ask the user if she wants to commit to all the
- ' changes made above.
- If MsgBox('Save all changes?', vbYesNo) = vbYes Then
- rstTitles.UpdateBatch
- Else
- rstTitles.CancelBatch
- End If
- ' Print current data in recordset.
- rstTitles.Requery
- rstTitles.MoveFirst
- Do While Not rstTitles.EOF
- Debug.Print rstTitles!Title & ' - ' & rstTitles!Type
- rstTitles.MoveNext
- Loop
- ' Restore original values because this is a demonstration.
- rstTitles.MoveFirst
- Do Until rstTitles.EOF
- If Trim(rstTitles!Type) = 'self_help' Then
- rstTitles!Type = 'psychology'
- End If
- rstTitles.MoveNext
- Loop
- rstTitles.UpdateBatch
- rstTitles.Close
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д