C# Adapter.Update aktualisiert die DataTable erst nach dem zweiten Versuch

Madagaska

Cadet 3rd Year
Registriert
Jan. 2011
Beiträge
36
Hallo,

ich habe folgendes Problem: bei mir werden Datensätze in einem Datagridview angezeigt und ich will mittels der Adapter.Update Funktion das Einfügen, Updaten und Löschen ermöglichen. Aber die Änderung wird immer erst beim Zweiten Versuch übernommen.

Code:
        Connector conn;
Button zum Ändern
Code:
            //Update Befehl abgeben:
            conn.Commit();
            //DGV aktualisiern:
            dgvData.DataSource = conn.GetDataTable();
In der Klasse Connector
Code:
        public DataTable GetDataTable()
        {
           OraAdapter = new OracleDataAdapter("SELECT * FROM " + tablename + " " + whereclause + " " + orderclause, OraConn);
            OraBuilder = new OracleCommandBuilder(OraAdapter);
            myDT = new DataTable("");
            OraAdapter.Fill(myDT);

            bsData = new BindingSource();
            bsData.DataSource = myDT;

            dgv.DataSource = bsData;

            //bnData.BindingSource = bsData;
            return myDT;
        }

        public void Commit()
        {
            bsData.EndEdit();
            OraAdapter.Update(myDT);
        }

Da ich bei meinem Button auch ein das DGV gleich akualisert wird, sieht es im Moment so aus wenn ich das DGV befülle und dann was ändern will, springt er beim ersten mal gleich zum den alten Werte zurück und erst beim zweiten mal funktioniert eine Änderung oder neue Zeile einzufügen.

Bitte um Hilfe

mfg Madagaska
 
Ich nehme einfach mal an, dass deine Logik schon dafür sorgt, dass die Daten geändert wurden und du nur ein anzeige Problem hast.

Ich würde an deiner Stelle das DGV neu binden an die Datenquelle, dann hast du dieses Problem nicht, warum kann ich dir nicht genau sagen, aber ich löse das halt so:

Code:
//DGV aktualisiern:
            dgvData.DataSource = null;
            dgvData.DataSource = conn.GetDataTable();
 
Zuletzt bearbeitet:
Zurück
Oben