none
Error bei commandbuilder mit mysqlconnector RRS feed

  • 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 'SelectRows

     

    Gibt es dafür eine Lösung, oder funktioniert der Commandbuilder nciht mit Mysql?

     

    Gruß

    Matthias

    Montag, 11. August 2008 15:32

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

    Mittwoch, 13. August 2008 09:29
  • Hallo Detlef,

     

    danke für deine Antwort. Dann wird der Fehler vermutlich daher kommen, dass der

    Datensatz nur über zwei Spalten (ID und Language) wirklich eindeutig wird.

     

    Danke und Gruß

    Matthias

     

    Donnerstag, 14. August 2008 15:09
  • 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
    Donnerstag, 14. August 2008 15:19