Access insert into Fehler

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Access insert into Fehler

    Liebe Forumkollegen
    Ich habe ein Problem bei der insert into methode bei einer AccessDB. Bei diesem Code kommt die Fehlermeldung Syntaxfehler bei der insert into Methode. Ich habe aber keinen Fehler gefunden.Bitte um Hilfe

    VB.NET-Quellcode

    1. con.ConnectionString =
    2. "Provider=Microsoft.Jet.OLEDB.4.0;" &
    3. "Data Source=" & My.Settings.ReimeConnectionString
    4. cmd.CommandText = "insert into Reime (ZureimendesFeld, Reim1, Reim2, Reim3, Reim4, Reim5, Reim6, Reim7, Reim8, Reim9) values('" & InputBox("Geben Sie ein Reimwort ein", "Reimwort") & "', " & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & " , " & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & " , " & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & " , " & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & " , " & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & " , " & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & " , " & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & " , " & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & " , " & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & ")"
    5. cmd.Connection = con
    6. con.Open()
    7. cmd.ExecuteNonQuery()
    8. con.Close()

    Danke im vorhinein

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Da fehlen offenbar die Anführungszeichen um die Strings, die in die DB eingetragen werden.

    Außerdem: Wenn einmal mittendrin auf Abbruch geklickt wird, wir der Befehl trotzdem ausgeführt. Nicht wirklich sauber programmiert.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum

    Unbekannter Feldname?

    Jetzt kommt nach der korrektur des Quellcodes:

    VB.NET-Quellcode

    1. con.ConnectionString =
    2. "Provider=Microsoft.Jet.OLEDB.4.0;" & My.Settings.ReimeConnectionString
    3. cmd.CommandText = "insert into Reime ('ZureimendesFeld', 'Reim1', 'Reim2', 'Reim3', 'Reim4', 'Reim5', 'Reim6', 'Reim7', 'Reim8', 'Reim9') values('" & InputBox("Geben Sie ein Reimwort ein", "Reimwort") & "', '" & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & "' , '" & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & "' , '" & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & "' , '" & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & "' , '" & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & "' , '" & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & "' , '" & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & "' , '" & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & "' , '" & InputBox("Geben Sie ein sich reimendes Wort ein", "Reimwort") & "')"
    4. cmd.Connection = con
    5. con.Open()
    6. cmd.ExecuteNonQuery()
    7. con.Close()
    Die Fehlermeldung das es den Feldnamen ZureimendesFeld nicht gibt. Er ist aber in dem Dataset verhanden und ich kann ihn auch auslesen lassen?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Laurenz“ () aus folgendem Grund: Denkfehler

    Nur als Anmerkung: Das Datenmodell ist unbrauchbar.
    So wies modelliert ist (9 feste Spalten) nimmt es an, dass ein Wort sich mit genau 9 anneren Worten reimt.
    Falls Nullwerte zulässig sind, wäre die Aussage des Datenmodells, dass von den 9 ReimWorten nicht immer alle bekannt sind.

    Die Realität ist aber bisserl anners: Ein Wort kann sich auf beliebig viele annere Worte reimen.

    wie gesagt: nur anmerkung. Vermutlich willst du erstmal deinen Fehler wegkriegen.


    Marcus meint, dass im CommandText des Commands Quotes eingearbeitet werden müssen, um dem Sql-Provider mitzuteilen, dass es sich um Text-Werte handelt, denn mit Zahlen würde er anners verfahren.
    sowas:

    VB.NET-Quellcode

    1. cmd.CommandText = "insert into Reime (ZureimendesFeld, Reim1) values('Haus', 'Maus')"