Eichhoernchen09
Grünschnabel
Hallo!
Ich habe folgendes Problem: ich möchte das vom SQLiteCommandBuilder erzeugte Update Command nutzen, um den SQLiteDataAdapter zu aktualisiseren, aber es funktioniert nicht!
Mein Code:
Connect-Button-Click:
string cs = @"Data Source=test.db";
string query = "select * from Texte";
sconn = new SQLiteConnection(cs);
sconn.Open();
sds = new DataSet("Mein DatenSet");
sda = new SQLiteDataAdapter(query,cs);
sda.Fill(sds);
dataGrid.DataSource = sds;
SQLiteCommandBuilder cmdBuild = new SQLiteCommandBuilder(sda);
Die Daten werden problemlos angezeigt.
Nun möchte ich, dass bei Änderungen am Datagrid diese auch in die DB übernommen werden. Das realisierte ich folgendermaßen:
private void dataGrid_CurrentCellChanged(object sender, System.EventArgs e)
{
sda.Update(sds);
sds.AcceptChanges();
}
Exakt dieser Code funktioniert bei Oracle und auch bei Access, aber nicht bei SQLite. Es kommt immer die Meldung:
Eine nicht behandelte Ausnahme des Typs 'System.InvalidOperationException' ist in sqlite.net.dll aufgetreten.
Zusätzliche Informationen: The connection must be open to call ExecuteReader
Dabei ist der Verbindungsstatus ganz sicher offen. Das sieht man bei lokalen Debuggen.
Wer kann mir weiterhelfen?
Danke!
Ich habe folgendes Problem: ich möchte das vom SQLiteCommandBuilder erzeugte Update Command nutzen, um den SQLiteDataAdapter zu aktualisiseren, aber es funktioniert nicht!
Mein Code:
Connect-Button-Click:
string cs = @"Data Source=test.db";
string query = "select * from Texte";
sconn = new SQLiteConnection(cs);
sconn.Open();
sds = new DataSet("Mein DatenSet");
sda = new SQLiteDataAdapter(query,cs);
sda.Fill(sds);
dataGrid.DataSource = sds;
SQLiteCommandBuilder cmdBuild = new SQLiteCommandBuilder(sda);
Die Daten werden problemlos angezeigt.
Nun möchte ich, dass bei Änderungen am Datagrid diese auch in die DB übernommen werden. Das realisierte ich folgendermaßen:
private void dataGrid_CurrentCellChanged(object sender, System.EventArgs e)
{
sda.Update(sds);
sds.AcceptChanges();
}
Exakt dieser Code funktioniert bei Oracle und auch bei Access, aber nicht bei SQLite. Es kommt immer die Meldung:
Eine nicht behandelte Ausnahme des Typs 'System.InvalidOperationException' ist in sqlite.net.dll aufgetreten.
Zusätzliche Informationen: The connection must be open to call ExecuteReader
Dabei ist der Verbindungsstatus ganz sicher offen. Das sieht man bei lokalen Debuggen.
Wer kann mir weiterhelfen?
