Fragensteller
Error bei commandbuilder mit mysqlconnector

Frage
-
Hallo,
ich bekomme folgende Fehlermeldung
Dynamische SQL-Generierung wird für einen SelectCommand, der keine Basistabelleninformationen zurückgibt, nicht unterstützt.
wenn ich versuche den Commandbuilder dazu zu verwenden meine aktualisierungen wieder zurück in die
mysql-DB zu schreiben.
Mein Quellcode:
Public Shared Function SelectRows(myConnection As String, mySelectQuery As String, myTableName As String) As DataSet
Dim myConn As New MySqlConnection(myConnection)
Dim myDataAdapter As New MySqlDataAdapter()
myDataAdapter.SelectCommand = New MySqlCommand(mySelectQuery, myConn)
Dim cb As SqlCommandBuilder = New MySqlCommandBuilder(myDataAdapter)
myConn.Open()
Dim ds As DataSet = New DataSet
myDataAdapter.Fill(ds, myTableName).... code to modify dataset.........
myDataAdapter.Update(ds, myTableName) <<<<< Stelle mit dem Fehler
myConn.Close()
End Function 'SelectRowsGibt es dafür eine Lösung, oder funktioniert der Commandbuilder nciht mit Mysql?
Gruß
Matthias
Alle Antworten
-
Hallo Matthias,
um dem CommandBuilder die Arbeit zu ermöglichen musst du ihm etwas unter die Arme greifen.
1. die zu aktualisierende Tabelle muss einen Primärschlüssel besitzen UND
2. dieser Primärschlüssel muss in der Selectabfrage enthalten sein.
Gruß
Detlef -
Hallo Matthias,
versuche doch einmal deinem DataSet den zusammengestzten Primärschlüssel für dieTabelle bekannt zu machen.
Eventuell lässt sich der CommandBuilder ja dann überzeugen ;-).
Ich kenne mich jetzt nicht so mit MySql aus, aber ich denke auch da gibt es sobas wie eine automatisch generierte ID ... füge deiner Tabelle in MySql doch so eine Spalte hinzu und schließe sie in das SelectCommand mit ein .. dann ist Ruhe und der CommandBuilder tut wie er soll ....
Hoffe ich konnte helfen.
Gruß
Detlef