Пример метода Cancel (Visual Basic)Cancel Method Example (VB)

В этом примере метод Cancel используется для отмены команды, выполняющейся на объекте соединения , если соединение занято.This example uses the Cancel method to cancel a command executing on a Connection object if the connection is busy.

    'To integrate this code  
    'replace the data source and initial catalog values  
    'in the connection string  
Public Sub Main()  
    On Error GoTo ErrorHandler  
    'recordset and connection variables  
    Dim Cnxn As ADODB.Connection  
    Dim strCnxn As String  
    Dim strCmdChange As String  
    Dim strCmdRestore As String  
     'record variables  
    Dim blnChanged As Boolean  
    ' Open a connection  
    Set Cnxn = New ADODB.Connection  
    strCnxn = "Provider='sqloledb';Data Source='MySqlServer';" & _  
        "Initial Catalog='Pubs';Integrated Security='SSPI';"  
    Cnxn.Open strCnxn  
    ' Define command strings  
    strCmdChange = "UPDATE titles SET type = 'self_help' WHERE type = 'psychology'"  
    strCmdRestore = "UPDATE titles SET type = 'psychology' " & _  
                     "WHERE type = 'self_help'"  
    ' Begin a transaction, then execute a command asynchronously  
    Cnxn.Execute strCmdChange, , adAsyncExecute  
    ' do something else for a little while -  
    ' use i = 1 to 32000 to allow completion  
    Dim i As Integer  
    For i = 1 To 1000  
        i = i + i  
        Debug.Print i  
    Next i  
    ' If the command has NOT completed, cancel the execute and  
    ' roll back the transaction; otherwise, commit the transaction  
    If CBool(Cnxn.State And adStateExecuting) Then  
        blnChanged = False  
        MsgBox "Update canceled."  
        blnChanged = True  
        MsgBox "Update complete."  
    End If  
    ' If the change was made, restore the data  
    ' because this is only a demo  
    If blnChanged Then  
        Cnxn.Execute strCmdRestore  
        MsgBox "Data restored."  
    End If  
    ' clean up  
    Set Cnxn = Nothing  
    Exit Sub  
    If Not Cnxn Is Nothing Then  
        If Cnxn.State = adStateOpen Then Cnxn.Close  
    End If  
    Set Cnxn = Nothing  
    If Err <> 0 Then  
        MsgBox Err.Source & "-->" & Err.Description, , "Error"  
    End If  
End Sub  

См. такжеSee Also

Метод Cancel (ADO) Cancel Method (ADO)
Объект Connection (ADO)Connection Object (ADO)