Laden...

Fehler bei MySQL Connector und einfügen eines Datensatzes

Erstellt von Kasperdelasopa vor 15 Jahren Letzter Beitrag vor 15 Jahren 2.179 Views
K
Kasperdelasopa Themenstarter:in
118 Beiträge seit 2006
vor 15 Jahren
Fehler bei MySQL Connector und einfügen eines Datensatzes

verwendetes Datenbanksystem: <MySQL>

Hallo zusammen,

ich wollte ein Programm von mir das mit MSSQL Server gearbeitet hat auf MySQL umstellen.

Nun bekomme ich folgenden Fehler:

"When MySqlCommandBuilder.ReturnGeneratedIdentifiers is true, MySqlCommand.UpdatedRowSource must be set to None."

Ich verwende den MySQL .Net Connector

Der Fehler tritt auf, wenn ich in einem in einen DataGRidView eine neue Zeile einfüge und diese Speichern möchte.

folgender Code soll die Daten des DataGRidViews in die Datenbank tun:
**

[/b]
if (adapter.UpdateCommand.Connection.State != ConnectionState.Open)
adapter.UpdateCommand.Connection.Open();

adapter.InsertCommand = (MySqlCommand)(new MySqlCommandBuilder(adapter).GetInsertCommand(true));
adapter.UpdateCommand = (MySqlCommand)(new MySqlCommandBuilder(adapter).GetUpdateCommand(true));
adapter.DeleteCommand = (MySqlCommand)(new MySqlCommandBuilder(adapter).GetDeleteCommand(true));

adapter.Update(ds, "Tabelle";);

saveColumnsWidths();
saveColumnsOrder();

adapter.UpdateCommand.Connection.Close();
[b]

**

F
10.010 Beiträge seit 2004
vor 15 Jahren

Das sollte schon mit dem MS Sql server nicht funktioniert haben, weil es komplett
an den Ideen hinter Adapter und CommandBuilder vorbei geht.

Der gesammte code den Du geschrieben hast, ist vollkommen unnötig.
Auch sieht das für mich so aus, wie das globale benutzen von Adaptern.
[Artikel] Ressourcen schonen - Datenbanken richtig öffnen und schließen

Das hier ist vollkommen ausreichend


MySqlDataAdapter adapter = new MySqlDataAdapter("Select * from TableName", ConnectionString);
MySqlCommandBuilder cb = new MySqlCommandBuilder(adapter);
cb..Update(ds, "Tabelle");

K
Kasperdelasopa Themenstarter:in
118 Beiträge seit 2006
vor 15 Jahren

Ah Super. Danke!

Ich muss wirklich zu meiner Schande gestehen, dass ich mich nicht so intesiv mit den Adaptern und Co. beschäftigt habe, wie ich es hätte tun sollen. Musste halt alles hopla-hop gehen.

Aber soweit mal vielen Dank.

Gruß

F
10.010 Beiträge seit 2004
vor 15 Jahren

Diese Herangehensweise ( das nicht erlernen der Grundlagen ) hat also dazu geführt,
das Du länger gebraucht hast, weil es nicht funktionierte.

Sollte Dir zu denken geben.

K
Kasperdelasopa Themenstarter:in
118 Beiträge seit 2006
vor 15 Jahren

völlig richtig!!