CursorType, LockType, and EditMode Properties Example (VB)

Microsoft ActiveX Data Objects (ADO)

CursorType, LockType, and EditMode Properties Example (VB)

This example demonstrates setting the CursorType and LockType properties before opening a Recordset. It also shows the value of the EditMode property under various conditions. The EditModeOutput function is required for this procedure to run.

Public Sub EditModeX()

    Dim cnn1 As ADODB.Connection
    Dim rstEmployees As ADODB.Recordset
    Dim strCnn As String

    ' Open recordset with data from Employee table.
    Set cnn1 = New ADODB.Connection
    strCnn = "Provider=sqloledb;" & _
        "Data Source=srv;Initial Catalog=Pubs;User Id=sa;Password=; "
    cnn1.Open strCnn
        
    Set rstEmployees = New ADODB.Recordset
    Set rstEmployees.ActiveConnection = cnn1
    rstEmployees.CursorLocation = adUseClient
    rstEmployees.CursorType = adOpenStatic
    rstEmployees.LockType = adLockBatchOptimistic
    rstEmployees.Open "employee", , , , adCmdTable

    ' Show the EditMode property under different editing
    ' states.
    rstEmployees.AddNew
    rstEmployees!emp_id = "T-T55555M"
    rstEmployees!fname = "temp_fname"
    rstEmployees!lname = "temp_lname"
    EditModeOutput "After AddNew:", rstEmployees.EditMode
    rstEmployees.UpdateBatch
    EditModeOutput "After UpdateBatch:", rstEmployees.EditMode
    rstEmployees!fname = "test"
    EditModeOutput "After Edit:", rstEmployees.EditMode
    rstEmployees.Close
    
    ' Delete new record because this is a demonstration.
    cnn1.Execute "DELETE FROM employee WHERE emp_id = 'T-T55555M'"

End Sub

Public Function EditModeOutput(strTemp As String, _
    intEditMode As Integer)

    ' Print report based on the value of the EditMode 
    ' property.
    Debug.Print strTemp
    Debug.Print "  EditMode = ";

    Select Case intEditMode
        Case adEditNone
            Debug.Print "adEditNone"
        Case adEditInProgress
            Debug.Print "adEditInProgress"
        Case adEditAdd
            Debug.Print "adEditAdd"
    End Select

End Function