Fehler in Visual Studio Update Abfrage

MitchAndi

Benutzer
Beiträge
6
Hallo,

seit Stunden versuche ich einen Update für 2 Textfelder mit dem "Update" SQL-Statement:

Diese Abfrage funktioniert:


Code:
   Else
            ' Bearbeitetes Anmelden speichern
            lCmd.CommandText = "UPDATE tblSpesenErfassungLand SET _sLandStammID = '" & cboLandStammID.Column(0) & "', " & _
                "_nSpesenSatzID = " & CStr(cboLandStammID.Column(2)) & ", " & _
                "nEinsatztage = " & CStr(txtEinsatztage) & " " & _
                "WHERE nSpesenErfassungEinsatzLandID = " & CStr(g_PersEinsatzSpesenEdit.nSpesenErfassungEinsatzLandID)
        End If



Wenn ich jedoch die Abfrage erweitere mit 2 weiteren Textfeldern Zeile "anreise" und eine darunter "abreise" einfüge:

Code:
            lCmd.CommandText = "UPDATE tblSpesenErfassungLand SET _sLandStammID = '" & cboLandStammID.Column(0) & "', " & _
                "_nSpesenSatzID = " & CStr(cboLandStammID.Column(2)) & ", " & _
                "anreise = " & CStr(txtAnreisedatum) & "', '" & _
                "abreise = " & CStr(txtAbreisedatum) & "', '" & _
                "nEinsatztage = " & CStr(txtEinsatztage) & " " & _
                "WHERE nSpesenErfassungEinsatzLandID = " & CStr(g_PersEinsatzSpesenEdit.nSpesenErfassungEinsatzLandID)
 
        End If


dann zeigt es mir den Visual Studio Fehler "Laufzeitfehler '-2147217900 (8004e14): Falsche Syntax in der Nähe von '.2021'.
In txtAnreisedatum und txtAbreisedatum steht jeweils ein Datum drinnen in Form "01.02.2021".

Wo ist hier der Fehler? Wie entwickelt man solche Abfragen am besten?
 
Werbung:
Am besten Du startest Abfragen zum Test (auch Updates, Inserts) über ein SQL Client mit expliziten Werten.
Wenn Du im Programm konvertierst (die Parameter) musst Du natürlich sicherstellen, dass es richtig gemacht wird.
Bei Datumswerten ganz allgemein empfiehlt es sich in fast allen DB, die Konvertierung in der DB zu machen und zwar explizit, also eine Text zu Datum Funktion mit konkreter Formatmaske zu verwenden. (oder beim MSSQL diese Formatkonstanten für ein aus mehreren Formatmustern)
 
Zuletzt bearbeitet:
Dieses Thema ist gelöst die Abfrage funktioniert nun mit diesem Quellcode:

Code:
          lCmd.CommandText = "UPDATE tblSpesenErfassungLand SET _sLandStammID = '" & cboLandStammID.Column(0) & "', " & _
                "_nSpesenSatzID = " & CStr(cboLandStammID.Column(2)) & ", " & _
                "anreise = '" & CStr(txtAnreisedatum) & "', " & _
                "rueckreise = '" & CStr(txtAbreisedatum) & "', " & _
                "nEinsatztage = " & CStr(txtEinsatztage) & " " & _
                "WHERE nSpesenErfassungEinsatzLandID = " & CStr(g_PersEinsatzSpesenEdit.nSpesenErfassungEinsatzLandID)
 
Werbung:
Zurück
Oben