Handler-Eigenschaft – Beispiel (VB)
Wichtig
Ab Windows 8 und Windows Server 2012 sind RDS-Serverkomponenten nicht mehr im Windows-Betriebssystem enthalten (weitere Informationen finden Sie in den jeweiligen Kompatibilitäts-Cookbooks zu Windows 8 und Windows Server 2012). RDS-Clientkomponenten werden in einer zukünftigen Version von Windows entfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Anwendungen, die RDS verwenden, sollten zu WCF Data Service migriert werden.
Dieses Beispiel demonstriert die Eigenschaft Handler des RDS DataControl-Objekts. (Weitere Details finden Sie unter DataFactory-Anpassung.)
Gehen Sie davon aus, dass sich die folgenden Abschnitte in der Parameterdatei „Msdfmap.ini“ auf dem Server befinden:
[connect AuthorDataBase]
Access=ReadWrite
Connect="DSN=Pubs"
[sql AuthorById]
SQL="SELECT * FROM Authors WHERE au_id = ?"
Ihr Code sieht wie folgt aus. Der Befehl, der der SQL-Eigenschaft zugewiesen ist, entspricht dem Bezeichner AuthorById und ruft eine Zeile für den Autor „Michael O'Leary“ ab. Die Recordset-Eigenschaft des DataControl-Objekts ist einem getrennten Recordset-Objekt lediglich aus Gründen der Bequemlichkeit für die Programmierung zugewiesen.
'BeginHandlerVB
Public Sub Main()
On Error GoTo ErrorHandler
Dim dc As New DataControl
Dim rst As ADODB.Recordset
dc.Handler = "MSDFMAP.Handler"
dc.ExecuteOptions = 1
dc.FetchOptions = 1
dc.Server = "https://MyServer"
dc.Connect = "Data Source=AuthorDataBase"
dc.SQL = "AuthorById('267-41-2394')"
dc.Refresh 'Retrieve the record
Set rst = dc.Recordset 'Use another Recordset as a convenience
Debug.Print "Author is '" & rst!au_fname & " " & rst!au_lname & "'"
' clean up
If rst.State = adStateOpen Then rst.Close
Set rst = Nothing
Set dc = Nothing
Exit Sub
ErrorHandler:
' clean up
If Not rst Is Nothing Then
If rst.State = adStateOpen Then rst.Close
End If
Set rst = Nothing
Set dc = Nothing
If Err <> 0 Then
MsgBox Err.Source & "-->" & Err.Description, , "Error"
End If
End Sub
'EndHandlerVB