Wie Daten vom Datagridview in verschiedene Sql Tabelle speichern? c#?

2 Antworten

Hallo Etsi92,

um Daten, die im DataGridView bearbeitet werden, in die entsprechende Tabelle zu speichern, kannst du die Daten aus dem DataGridView in ein DataTable oder einen DataSet einlesen und dann die Änderungen an die entsprechende Tabelle in der Datenbank übertragen. Du kannst dazu die DataAdapter-Klasse verwenden und die Update-Methode aufrufen.

Hier ist ein Beispiel, wie man das machen kann:

1) Verbinde dich mit der Datenbank und lies die Daten in ein DataTable oder DataSet ein.

string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();


string sql = "SELECT * FROM myTable";
SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);


dataGridView1.DataSource = dataTable;

2) Wenn der Benutzer Änderungen vornimmt, lies die geänderten Daten aus dem DataGridView und aktualisiere die entsprechende Tabelle in der Datenbank.

private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
    adapter.Update(dataTable);
}

Bitte beachte, dass du die Spaltennamen in DataGridView und Tabelle übereinstimmend machen musst, damit das Update erfolgreich ist.

Es gibt auch andere Techniken wie z.B. das Verwenden von Stored Procedures oder das Schreiben von manuellem SQL-Code, um Daten zu speichern. Welche Methode am besten für dein Projekt geeignet ist, hängt von deinen Anforderungen ab.

Ich hoffe, ich konnte dir weiterhelfen!

MfG

Verwende für jede Tabelle, die im Datagrid angezeigt werden soll, ein eigenes Dataset.
Dann holst du zum Anzeigen die Daten aus dem zugehörigen Dataset.
Änderungen der Daten werden auch in das Dataset übergeben. Du musst dann nur die Datasets zurück in die Tabellen speichern.

(Und in den Datasets ist ja bekannt, welche Felder welchen Datentyp haben.)