Handler 屬性範例 (VB)
重要
從 Windows 8 和 Windows Server 2012 開始,Windows 作業系統中不再包含 RDS 伺服器元件 (請參閱 Windows 8 和 Windows Server 2012 相容性操作手冊以取得詳細資訊)。 未來的 Windows 版本將移除 RDS 用戶端元件。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 使用 RDS 的應用程式應該移轉至 WCF 資料服務。
此範例示範 RDS DataControl 物件 Handler 屬性。 (請參閱 DataFactory 自訂以取得詳細資料。)
假設參數檔案 (Msdfmap.ini) 中的下列區段位於伺服器上:
[connect AuthorDataBase]
Access=ReadWrite
Connect="DSN=Pubs"
[sql AuthorById]
SQL="SELECT * FROM Authors WHERE au_id = ?"
程式碼看起來如下所示。 指派給 SQL 屬性的命令會比對 AuthorById 識別碼,並擷取作者 Michael O'Leary 的資料列。 將 DataControl 物件 Recordset 屬性指派給中斷連線的 Recordset 物件,純粹是方便程式碼的撰寫。
'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