Guten Tag,
ich bin dabei eine Anwendung mit WinForm zu schreiben, die Daten aus Oracle abfragt und sie in einer DataGridView einfügt. Das Besondere: Die DataGridView hat schon Spaltennamen. Beim Buttonclick sollten die Daten in der entsprechenden Spalte geladen werden. Ich möchte dass der User die Spaltennamen in DataGridView sieht bevor die Daten incl- Spaltennamen geladen werden.
Wie kann ich das machen oder anders gesagt wie kann ich die Spalten in Oracle zu der Spalten in der DataGridView zuorden. DANKE
private void button2_Click(object sender, EventArgs e)
{
try
{
string ConString = "Data Source= DWH;User Id=readonly;Password=*******;";
using (OracleConnection con = new OracleConnection(ConString))
{
OracleCommand cmd = new OracleCommand("SELECT * FROM EMPLOYEES", con);
OracleDataAdapter oda = new OracleDataAdapter(cmd);
DataTable data = new DataTable();
oda.Fill(data);
dataGridView2.DataSource = data;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
Bitte bitte kein Datenbank-Code in die UI!
[Artikel] Drei-Schichten-Architektur
Gehört da ohne Wenn und Aber nicht hin 😉
Binde Deine DGV sauber an eine eigene Source.
Die Source kann dann zB eine Liste sein, die Du selbst erstellst.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Setze DataGridView.AutoGenerateColumns auf false
und erstelle die DataGridView-Spalten dann vorher (im Designer oder per Code).