Fehler beim übertrag in Access Datenbank

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

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von petaod.

    Fehler beim übertrag in Access Datenbank

    Moin Community,

    ich habe mal wieder ein kleines Problem.
    In meinem Programm was ich schreibe bin ich momentan kurz vor dem Release.
    Natürlich möchte ich das dieser möglichst reibungsfrei abläuft und die Übersicht für meine User so gut und simpel ist wie es nun einmal geht.
    ich habe Daten in Text und Comboboxen die in ein Datagridview und in eine Access Datenbank schreiben. Um die Ansicht im Datagridview zu vereinfachen
    entwickelte ich dafür ein neues Layout für die Strings, die ich dort speichere. Diese sieht so aus:

    VB.NET-Quellcode

    1. "Bestellung #1" + vbNewLine + temp_preis + " €" + vbNewLine + "Bestellung #" + nr_preis.ToString + vbNewLine + wert_preis + "€"


    Mag vielleicht unübersichtlich aussehen, funktioniert aber genauso wie ich es gerne hätte.
    Diesen ganzen String möchte ich jetzt gerne in der Access Datenbank speichern.
    Bei OleDbCommand.ExecuteNonQuery() wird dann der Fehler: "(0x80040E07): Datentypenkonflikt in Kriterienaustausch" ausgegeben.
    Ich nehme mal an das es daran liegt, das ich im String zu viele Anführungszeichen oder vbnewline habe.
    Aber das weiß ich nicht. Gibt es eine Möglichkeit den oben stehenden Text anders in die Datenbank einzubinden.

    Bin mir gerade selber nicht ganz sicher wie ich das erklären soll :whistling: ,
    hoffentlich wisst ihr ungefähr wie ich das meine.

    Hier nochmal der Code vom Übertrag in die Datenbank:

    VB.NET-Quellcode

    1. Dim sqlinsert As String
    2. sqlinsert = "UPDATE Bestellungen SET Name=@Name, BestNr=@BestNr, " &
    3. "Größe=@Größe, Belag=@Belag, Extrawunsch=@Extrawunsch, Gesammt=@Gesammt WHERE Name='" & dgv_bestellungen.Rows(0).Cells(0).Value.ToString & "'"
    4. Dim cmd As New OleDbCommand(sqlinsert, con1)
    5. cmd.Parameters.Add(New OleDbParameter("@Name", dgv_bestellungen.Rows(0).Cells(0).Value))
    6. cmd.Parameters.Add(New OleDbParameter("@BestNr", dgv_bestellungen.Rows(0).Cells(1).Value))
    7. cmd.Parameters.Add(New OleDbParameter("@Größe", dgv_bestellungen.Rows(0).Cells(2).Value))
    8. cmd.Parameters.Add(New OleDbParameter("@Belag", dgv_bestellungen.Rows(0).Cells(3).Value))
    9. cmd.Parameters.Add(New OleDbParameter("@Extrawunsch", dgv_bestellungen.Rows(0).Cells(4).Value))
    10. cmd.Parameters.Add(New OleDbParameter("@Gesammt", dgv_bestellungen.Rows(0).Cells(5).Value))
    11. con1.Open()
    12. cmd.ExecuteNonQuery() '<-Hier Fehler
    13. con1.Close()
    ?(