執行非標量函式

ADO 連線可用於執行提供程式通過 SQL 支援的幾乎任何資料庫功能。在這種情況下,並不總是需要使用 Execute 函式返回的 Recordset,儘管它可以在使用 @@ Identity 或類似 SQL 命令的 INSERT 語句之後獲取鍵分配。請注意,為簡潔起見,下面的示例使用了 “建立與資料來源連線的示例”中的 OpenDatabaseConnection 函式。

Public Sub UpdateTheFoos()
    On Error GoTo Handler
    Dim database As ADODB.Connection
    Set database = OpenDatabaseConnection(SomeDSN)
    
    If Not database Is Nothing Then
        Dim update As ADODB.Command
        Set update = New ADODB.Command
        'Build the command to pass to the data source.
        With update
            .ActiveConnection = database
            .CommandText = "UPDATE Table SET Foo = 42 WHERE Bar IS NULL"
            .CommandType = adCmdText
            .Execute        'We don't need the return from the DB, so ignore it.
        End With
    End If
CleanExit:
    If Not database Is Nothing And database.State = adStateOpen Then
        database.Close
    End If
    Exit Sub
Handler:
    Debug.Print "Error " & Err.Number & ": " & Err.Description
    Resume CleanExit
End Sub

請注意,傳送到資料來源的命令容易受到 SQL 注入的攻擊,無論是有意還是無意。通常,不應通過連線任何型別的使用者輸入來建立 SQL 語句。相反,它們應該引數化(請參閱建立引數化命令 )。