共用方式為


執行 SQL 查詢 (SQLXMLOLEDB 提供者)

此範例示範如何使用下列 SQLXMLOLEDB 提供者專屬的屬性:

  • ClientSideXML

  • xml root

在此用戶端的 ADO 範例應用程式中,會在用戶端上執行簡單的 SQL 查詢。因為 ClientSideXML 屬性設定為 True,所以會將沒有 FOR XML 子句的 SELECT 陳述式傳送到伺服器。伺服器會執行查詢,並將資料列集傳回給用戶端。用戶端接著會將 FOR XML 轉換套用至資料列集而產生 XML 文件。

xml root 屬性會為產生的 XML 文件提供單一最上層的根元素。

[!附註]

在程式碼中,您必須於連接字串內提供 Microsoft SQL Server 執行個體的名稱。此外,這個範例會指定針對資料提供者使用 SQL Server Native Client (SQLNCLI10) (需要安裝其他網路用戶端軟體)。如需詳細資訊,請參閱<SQL Server 2008 Native Client 的系統需求>。

Option Explicit
Sub main()
Dim oTestStream As New ADODB.Stream
Dim oTestConnection As New ADODB.Connection
Dim oTestCommand As New ADODB.Command

oTestConnection.Open "provider=SQLXMLOLEDB.4.0;data provider=SQLNCLI10;data source=SqlServerName;initial catalog=AdventureWorks;Integrated Security=SSPI ;"
oTestCommand.ActiveConnection = oTestConnection
oTestCommand.Properties("ClientSideXML") = True
oTestCommand.CommandText = "SELECT TOP 10 FirstName, LastName FROM Person.Contact FOR XML AUTO"
oTestStream.Open
oTestCommand.Properties("Output Stream").Value = oTestStream
oTestCommand.Properties("xml root") = "root"
oTestCommand.Execute , , adExecuteStream

oTestStream.Position = 0
oTestStream.Charset = "utf-8"
Debug.Print oTestStream.ReadText(adReadAll)
End Sub
Sub Form_Load()
 main
End Sub