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:
|