Dataset - DB Problem

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von hans im glück.

    Dataset - DB Problem

    Mein Problem bezieht sich auf diese Thread von @ErfinderDesRades.

    Ich erhalte beim abspeichern eines Datensatzes in einer Tabelle, welche keine Beziehung zu einer anderen Tabelle hat, folgenden Fehler:

    Quellcode

    1. Ein Ausnahmefehler des Typs "System.Data.OleDb.OleDbException" ist in System.Data.dll aufgetreten.
    2. Zusätzliche Informationen: Datentypenkonflikt in Kriterienausdruck.

    manchmal kommt auch:

    Quellcode

    1. Ein Ausnahmefehler des Typs "System.Data.OleDb.OleDbException" ist in System.Data.dll aufgetreten.
    2. Zusätzliche Informationen: Syntaxfehler in der INSERT INTO-Anweisung.



    Die Datentypen zwischen ACcess DB und dem Dataset sind jedoch 100% gleich (wurden mit dem SQL Code vom DB Generator erstellt).
    Wenn ich eine Datenzeile der betroffenen Tabelle direkt über Access in die DB eintrage und dann in meiner Anwendung lade funktioniert alles einwandfrei.

    Nur aus meiner Anwendung raus in die Access DB geht halt nicht.

    Was kann ich nun noch prüfen?
    Gruß Hannes
    Sieht aus, als hättest du einen "Datentypenkonflikt in Kriterienausdruck" (was immer das sein mag) oder einen "Syntaxfehler in der INSERT INTO-Anweisung".

    Mehr kann man bei dieser Informations-lage nicht dazu sagen.

    Ach, und in Access scheint da etwas anderes vor sich zu gehen als in deiner Anwendung.
    hab nun nochmal beide tabellen abgeglichen. beide identisch.

    finde einfach den fehler nicht.

    habe auch mal folgenden code probiert der sich nur auf eine der fehlerverursachenden tabellen bezieht:

    VB.NET-Quellcode

    1. Dim adp = New OleDbDataAdapter("select * from tblNote", _Con)
    2. Dim cmd = New OleDbCommandBuilder(adp)
    3. _Con.Open()
    4. adp.Update(_dts, "tblNote")
    5. _Con.Close()


    kommt der gleiche fehler.
    scheint echt bei access der wurm drin zu sein.
    ist mal echt sch*****
    Gruß Hannes
    glaub nicht , dass es an access liegt

    Dein "_dts", wo befüllst du das?

    Diese Nachfrage zielt nicht darauf ab, dass es in deinem Code-Beispiel nicht zu sehen, ich geh davon aus, dass du es für diesen thread verkürzt hast, was immer.
    Diese Tabelle "tblNote", in deinem Dataset, hat zum Zeitpunkt des updates andere Werte.
    Also das dts wird beim instanzieren der Klasse aus der Main Form (das ursprüngliche dts) übergeben.

    Der Fehler kommt aber auch bei einem leeren dts wo nur einige tblnote Rows eingefügt wurden.
    due Spalten zwischen Access und dts sind identisch.


    ich habe gestern sql express aufgesetzt und getestet, da geht's einwandfrei
    Gruß Hannes