Entwickler-Ecke

WinForms - Inhalt einer Datenbank-Abfrage in ein DataGridView packen


erfahrener Neuling - Di 22.03.16 15:29
Titel: Inhalt einer Datenbank-Abfrage in ein DataGridView packen
Hallo,

ich möchte per Firebird-Datareader eine SQL-Abfrage machen und will diese dann in ein datagridview packen. Leider hab ich es nicht hinbekommen, anständig was in das datagridview zu kriegen

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
FbCommand cmd = new FbCommand(query,connection);
FbDataReader dataReader = cmd.ExecuteReader();

while (dataReader.Read())
{
    //die Schleife ließt eine Zeile der Tabelle aus
    for (int i = 0;i < dataReader.FieldCount;i++)
    {
        //hier sollen die Werte des dataReader[i] ([i] = einzelner Zellenwert) in das datagridView geschrieben werden
    }
    
}
dataReader.Close();

Was wär der effizienteste Weg, die Daten, die ich haben möchte, in das datagridview zu bekommen? Hab leider nichts hilfreiches gefunden :(


Th69 - Di 22.03.16 16:05

Hallo,

der einfachste und beste Weg ist mittels DataBinding, s. z.B. Gewusst wie: Binden von Daten an das DataGridView-Steuerelement in Windows Forms [https://msdn.microsoft.com/de-de/library/fbk67b6z%28v=vs.110%29.aspx], also mittels eines DataAdapter und dessen Fill-Methode die Daten einlesen und an das DataGridView binden.

Bei Firebird mußt du dann FbDataAdapter benutzen und statt der BindingSource kannst du auch (ersteinmal) direkt an das DGV binden:

C#-Quelltext
1:
dataGridView.dataSource = table;                    


erfahrener Neuling - Di 22.03.16 16:27

Danke! Hat super funktioniert und mir endlich einen Einstieg in Datagridview geliefert. Hab davor irgendwie auf'm Schlauch gestanden :think: :zustimm: