使用 ExecuteXMLReader 方法执行 SQL 查询

适用于:SQL ServerAzure SQL 数据库

可以使用 SqlXmlCommand 对象的 ExecuteXmlReader 方法来执行命令,而不是使用 ExecuteToStream 方法。 此方法返回一个 XmlReader 对象,该对象可用于进一步处理结果 (在此示例中打印元素或属性名称以及) 值。

注意

在代码中,必须在连接字符串中提供 Microsoft SQL Server 实例的名称。

using System;  
using Microsoft.Data.SqlXml;  
using System.IO;  
using System.Xml;  
   class Test  
   {  
      static string ConnString = "Provider=SQLOLEDB;Server=(local);database=AdventureWorks2022;Integrated Security=SSPI";  
      public static int testParams()  
      {  
         SqlXmlParameter p;  
         XmlReader Reader;  
         XmlTextWriter tw;  
         SqlXmlCommand cmd = new SqlXmlCommand(ConnString);  
         cmd.CommandText = "select FirstName, LastName from Person.Person where LastName = ? For XML Auto";  
         p = cmd.CreateParameter();  
         p.Value = "Achong";  
         Reader = cmd.ExecuteXmlReader();  
            tw = new XmlTextWriter(Console.Out);  
         Reader.MoveToContent();  
         tw.WriteNode(Reader, false);  
         tw.Flush();  
         tw.Close();  
         Reader.Close();  
  
         return 0;  
      }  
  
      static int Main(string[] args)  
      {  
         testParams();  
         return 0;  
      }  
   }  

测试应用程序

  1. 请确保已在计算机上安装 Microsoft .NET Framework。

  2. 将本主题中提供的 C# 代码 (DocSample.cs) 保存到文件夹中。

  3. 编译代码。 若要在命令提示符下编译此代码,请使用:

    csc /reference:Microsoft.Data.SqlXML.dll DocSample.cs  
    

    这将创建一个可执行文件 (DocSample.exe)。

  4. 在命令提示符下,执行 DocSample.exe。