Hallo Zusammen Ich habe ein Problem mit dem Beschreiben einer Access Datenbank mit SQL in C#. Ich habe die Zelle als Zahl (double) konfiguriert und möchte z.B. 0,25 eintragen. Der nachfolgende Teil (darunter der gesamte) des SQL-String soll die 0,25 der Datenbank übergeben, aber mit einem Komma kommt es zu einen Syntaxfehler, wenn man z.B. eine 1 schreibt wird dieser Wert in die Datenbank geschrieben. UrFremdZeitAufwand = " + txtStundenFremd.Text + ", Wie soll der Syntax richtig heißen. Bitte um Hilfe. string strSqlAbf = " UPDATE Entstör SET UrsacheFremd = " + ckbFremd.Checked + ", Datum = '" + txtDate.Text + "', Störungsart = '" + cobStörArt.Text + "', Tätigkeit = '" + rtbTätig.Text + "', MaFremd = '" + txtMaFremd.Text + "', UrFremdZeitAufwand = '" + txtStundenFremd.Text + "', FremdVerurs = '" + cobVerurs.Text + "', SamNr = '" + txtSamNr.Text + "', MA1 = '" + cobMa1.Text + "', MA2 = '" + cobMa2.Text + "' Where Entstör_SetNr = " + stuEntStörData.Entstör_SetNr; Danke. Lg. Hans K. dbReader.ExecuteNonQuerry(strSqlAbf);
Statt des Dezimalkommas musst Du einen Dezimalpunkt verwenden, also nicht "0,25", sondern "0.25".
Klatec schrieb: > string strSqlAbf = " UPDATE Entstör SET UrsacheFremd = " + Egal ob zulässig oder nicht: Sich auf ASCII zu beschränken spart Ärger.
Das ist ein recipe for Desaster: Entstör_SetNr=„234;DROP TABLE Entstör;“ https://de.m.wikipedia.org/wiki/SQL-Injection Kann das Dings keine Bind-Variablen?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.