2008-01-19

Auffüllen eines DataSet mit einem DataAdapter

Ein DataSet-Objekt kann mit Hilfe eines DataAdapter-Objektes mit Daten aus einer relationaler Datenbank gefüllt werden. Dieser Möglichkeit ist die meist verbreitete Variante, wie die Daten in ein DataSet weitergegeben werden können.

An die SelectCommand-Eigenschaft des DataAdapter-Objektes wird die SQL-Anweisung für das Selektieren der Daten aus der Datenbanktabelle zugewiesen. Die Verbindung zur Datenbank wir mit einem SqlConnection-Objekt sichergestellt. Nach dem die zwei Objekte definiert sind, können die Daten mit der Fill-Methode des DataAdapter-Objektes in das DataSet-Objekt gefüllt werden.

Das untenstehende Beispielcode zeigt, wie die Daten der CountryRegion-Datenbanktabelle mit Hilfe eines DataAdapter-Objektes in ein untypisiertes DataSet-Objekt gefüllt wird:

DataSet _AdventureWorksDS;
...
private void btnLoadWithDataAdapter_Click(object sender, EventArgs e)
{
string selectSql = @"SELECT [Person].[CountryRegion].[CountryRegionCode],
[Person].[CountryRegion].[Name],
[Person].[CountryRegion].[ModifiedDate]
FROM [Person].[CountryRegion]
";

SqlConnection sqlCon
= new SqlConnection(@"Data Source=.;
Initial Catalog=AdventureWorks;
Integrated Security=True
");

SqlDataAdapter sqlDa
= new SqlDataAdapter();
sqlDa.SelectCommand
= new SqlCommand(selectSql, sqlCon);

_AdventureWorksDS
= new DataSet("AdventureWorks");
sqlDa.Fill(_AdventureWorksDS,
"CountryRegion");

this.dgvDataAdapter.DataSource = _AdventureWorksDS.Tables["CountryRegion”];
}