Hallo, ich habe folgendes Problem:
Ich habe ein dataGridView mit Daten aus einer SQL Tabelle. Wenn ich nun einen Datensatz ändern möchte bzw. wenn ich einen Datensatz hinzufügen möchte, wird dieser nicht in die SQL Tabelle übertragen. Ich habe dies (siehe Code) wie folgt "probiert". Ich verwende dazu das Ereignis "dataGridView1_CellLeave". Also jedes mal, wenn ich die 3. Spalte verlasse, sollen alle Daten in die Datenbank geschrieben werden.
Meiner Meinung nach ist das Problem, dass die eingegebenen Daten nicht sofort übernommen werden und dadurch wird noch der alte Wert in die Datenbank geschrieben. Weil wenn ich 2 Werte ändere und mir dann die Tabelle anschaue, sehe ich, das der 1. geänderte Wert in die SQL Datenbank übernommen wurde. Wie schaffe ich das, dass ein geänderter Wert sofort übernommen wird und in die SQL Tabelle übertragen wird?
Vielen Dank im Vorraus!
MfG Daniel
Ich habe ein dataGridView mit Daten aus einer SQL Tabelle. Wenn ich nun einen Datensatz ändern möchte bzw. wenn ich einen Datensatz hinzufügen möchte, wird dieser nicht in die SQL Tabelle übertragen. Ich habe dies (siehe Code) wie folgt "probiert". Ich verwende dazu das Ereignis "dataGridView1_CellLeave". Also jedes mal, wenn ich die 3. Spalte verlasse, sollen alle Daten in die Datenbank geschrieben werden.
Meiner Meinung nach ist das Problem, dass die eingegebenen Daten nicht sofort übernommen werden und dadurch wird noch der alte Wert in die Datenbank geschrieben. Weil wenn ich 2 Werte ändere und mir dann die Tabelle anschaue, sehe ich, das der 1. geänderte Wert in die SQL Datenbank übernommen wurde. Wie schaffe ich das, dass ein geänderter Wert sofort übernommen wird und in die SQL Tabelle übertragen wird?
Code:
private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 2)
{
try
{
cmdUpdate = new SqlCommandBuilder(da);
da.Update(dt);
MessageBox.Show("Daten erfolgreich gespeichert!");
}
catch (Exception exc)
{
MessageBox.Show(exc.Message.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}
Vielen Dank im Vorraus!
MfG Daniel