Bagikan melalui


SqlCommand.ExecuteXmlReader Metode

Definisi

CommandText Mengirim ke Connection dan membangun XmlReader objek.

public:
 System::Xml::XmlReader ^ ExecuteXmlReader();
public System.Xml.XmlReader ExecuteXmlReader ();
member this.ExecuteXmlReader : unit -> System.Xml.XmlReader
Public Function ExecuteXmlReader () As XmlReader

Mengembalikan

Sebuah objekXmlReader.

Pengecualian

Selain SqlDbTypeBiner atau VarBinary digunakan ketika Value diatur ke Stream. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

-atau-

Selain SqlDbTypeChar, NChar, NVarChar, VarChar, atau Xml digunakan saat Value diatur ke TextReader.

-atau-

Selain SqlDbTypeXml digunakan ketika Value diatur ke XmlReader.

Terjadi pengecualian saat menjalankan perintah terhadap baris terkunci. Pengecualian ini tidak dihasilkan saat Anda menggunakan Microsoft .NET Framework versi 1.0.

-atau-

Waktu habis terjadi selama operasi streaming. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

Ditutup SqlConnection atau dihilangkan selama operasi streaming. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

Terjadi kesalahan dalam Streamobjek , XmlReader atau TextReader selama operasi streaming. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

Objek Stream, XmlReader atau TextReader ditutup selama operasi streaming. Untuk informasi selengkapnya tentang streaming, lihat Dukungan Streaming SqlClient.

Contoh

Contoh berikut membuat SqlCommand lalu menjalankannya menggunakan ExecuteXmlReader. Contohnya diteruskan string yang merupakan pernyataan TRANSACT-SQL FOR XML SELECT, dan string yang digunakan untuk menyambungkan ke sumber data.

private static void CreateXMLReader(string queryString,
    string connectionString)
{
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        connection.Open();
        SqlCommand command = new SqlCommand(queryString, connection);
        System.Xml.XmlReader reader = command.ExecuteXmlReader();
    }
}
Public Sub CreateXMLReader(ByVal queryString As String, _
    ByVal connectionString As String)

    Using connection As New SqlConnection(connectionString)
        connection.Open()

        Dim command As New SqlCommand(queryString, connection)
        Dim reader As System.Xml.XmlReader = command.ExecuteXmlReader
    End Using
End Sub

Keterangan

XmlReader yang dikembalikan oleh metode ini tidak mendukung operasi asinkron.

Properti CommandText biasanya menentukan pernyataan Transact-SQL dengan klausa FOR XML yang valid. Namun, CommandText juga dapat menentukan pernyataan yang mengembalikan ntext atau nvarchar data yang berisi XML yang valid, atau konten kolom yang ditentukan dengan xml jenis data.

Kueri umum ExecuteXmlReader dapat diformat seperti dalam contoh Microsoft Visual C# berikut:

SqlCommand command = new SqlCommand("SELECT * FROM dbo.Customers FOR XML AUTO, XMLDATA", SqlConn);

Metode ini juga dapat digunakan untuk mengambil kumpulan hasil satu baris kolom tunggal yang berisi data XML. Dalam hal ini, jika lebih dari satu baris dikembalikan, ExecuteXmlReader metode melampirkan XmlReader ke nilai pada baris pertama, dan membuang sisa kumpulan hasil.

Fitur beberapa tataan hasil aktif (MARS) memungkinkan beberapa tindakan menggunakan koneksi yang sama.

Jika Anda menggunakan ExecuteReader atau BeginExecuteReader untuk mengakses data XML, SQL Server akan mengembalikan hasil XML apa pun yang lebih besar dari 2.033 karakter dalam beberapa baris masing-masing 2.033 karakter. Untuk menghindari perilaku ini, gunakan ExecuteXmlReader atau BeginExecuteXmlReader untuk membaca kueri XML.

Berlaku untuk

Lihat juga