Home   Cover Cover Cover Cover
 

XML-Daten lesen mit ExecuteXmlReader


Zu Abschnitt 5.3.3 des Buchs

Das folgende Beispiel zeigt, wie man mit der Methode ExecuteXmlReader der Klasse SqlCommand (eines SQL Server-Datenbankanbieters) einen XmlReader erzeugt, mit dem mit dem man die Daten im XML-Format auslesen kann.

5-3-3-ExecuteXmlReaderSample.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient; 

namespace Chapter5
{
    public class ExecuteXmlReaderSample
    {
        public static void Main()
        {
            //----- Aufbauen einer Verbindung zur Northwind-Datenbank am lokalen Rechner
            Console.WriteLine("Verbindung wird aufgebaut");
            string connStr = "Data Source=localhost\\SQLEXPRESS;Initial Catalog=Northwind; Integrated Security=True"; ;
            SqlConnection con = null; // Verbindung deklarieren
            try
            {
                con = new SqlConnection(connStr);
                con.Open();
                SqlCommand cmd = new SqlCommand("SELECT EmployeeID, LastName, FirstName "
                    + "FROM Employees FOR XML AUTO", con);
                cmd.Prepare(); 
                System.Xml.XmlReader reader = cmd.ExecuteXmlReader();
                while (reader.Read())
                    Console.WriteLine(reader.ReadOuterXml());
                IDbCommand cmd2 = new SqlCommand("SELECT count(*) FROM Employees", con);
                cmd2.Prepare(); 
                int count = (int)cmd2.ExecuteScalar();
                Console.WriteLine(count); 
                reader.Close(); 
            }
            catch (Exception e)
            {  // Fehlerbehandlung oder Exception an Aufrufer weitergeben
                Console.WriteLine(e.Message);
            }
            finally
            {
                try
                {
                    if (con != null) con.Close(); // Verbindung schlieen
                }
                catch (Exception ex) { Console.WriteLine(ex.Message); }
            }
        }
    }
}

Beim Ausführen des Programms wird folgende Ausgabe erzeugt:

output