Laden...

Update der Datenbank

Erstellt von gilp vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.357 Views
G
gilp Themenstarter:in
3 Beiträge seit 2007
vor 15 Jahren
Update der Datenbank

verwendetes Datenbanksystem: SQLite

Hallo,

ich habe ein kleines Problem mit dem Updaten meiner Datenbank wenn ich Änderungen im GridView mache. Als Hilfe diente mir http://msdn.microsoft.com/de-de/library/fbk67b6z.aspx.

Mein Code:


        private void button1_Click(object sender, EventArgs e)
        {
            SQLiteConnection con = new SQLiteConnection("Data Source=c:\\test.db3");
            SQLiteDataAdapter da = new SQLiteDataAdapter("SELECT * from test", con);
            DataTable dt = new DataTable();
            BindingSource bs1 = new BindingSource();
            if (checkBox1.Checked == true)
            {
                bs1.EndEdit();
                da.Update((DataTable)bs1.DataSource);
            }
            else
            {
                da.Fill(dt);
                bs1.DataSource = dt;
                dataGridView1.DataSource = bs1;
            }
        }

Das Auslesen der Daten klappt ohne Probleme, beim Updaten erhalte ich allerdings folgenden Fehler:

da.Update((DataTable)bs1.DataSource); - "Der Wert darf nicht NULL sein. Parametername: dataTable

Einen wirklichen Unterschied zu dem MSDN Code erkenne ich leider nicht.
Für Ideen oder Tipps bin ich dankbar!

Gruß
Marcel

G
497 Beiträge seit 2006
vor 15 Jahren

verwendetes Datenbanksystem: SQLite

Einen wirklichen Unterschied zu dem MSDN Code erkenne ich leider nicht.
Für Ideen oder Tipps bin ich dankbar!

ich hab ehrlich gesagt ein Problem dabei, überhaupt Ähnlichkeiten zwischen dem MSDN-Code und deinem Code zu finden. Du erzeugst die BindingSource jedes mal neu, der MSDN-Code erzeugt sie bei der Form-Instanzierung. Der MSDN-Code ruft beim Aktualisieren der DataSource nur das Update-Kommando des DataAdapter-Objekts auf. Lies dir das Beispiel mal genau durch und schau, wo welches Objekt mit welchem Gültigkeitsbereich erzeugt wird.

G
gilp Themenstarter:in
3 Beiträge seit 2007
vor 15 Jahren

Ok, es geht! War mein Fehler.. Sorry.
Danke 😃