Forum: PC-Programmierung SQL-String zum Speichern von double


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Klatec (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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);

von Rufus Τ. F. (rufus) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Statt des Dezimalkommas musst Du einen Dezimalpunkt verwenden, also 
nicht "0,25", sondern "0.25".

von A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Klatec schrieb:
> string strSqlAbf = " UPDATE Entstör SET UrsacheFremd = " +

Egal ob zulässig oder nicht: Sich auf ASCII zu beschränken spart Ärger.

von Ergo70 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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?

von Rufus Τ. F. (rufus) (Moderator) Benutzerseite


Bewertung
1 lesenswert
nicht lesenswert

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.