Autor Beitrag
tomycat
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 265
Erhaltene Danke: 1



BeitragVerfasst: Do 23.07.15 11:11 
hallo,

meine Tablle:
ausblenden XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
CREATE TABLE rechnunginhalt (
  re int(11) NOT NULL auto_increment,
  zeit varchar(255) default NULL,
  datum varchar(255) default NULL,
  wer int(25) default NULL,
  umsatz float(25) default NULL,
  inhalt varchar(2000) default NULL,

  PRIMARY KEY  
);

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
float summe = 0;
summe = 11.9f;
///////////// rechung speichern..
q = "insert into artikel.rechnunginhalt (re,datum,zeit,umsatz,inhalt,wer) values('" 
  + rechnungsnummer.Text + "',  '"  ///// kein Problem
  + buch_datum + "','"  ///// kein Problem
  + buch_zeit +  "','" ///// kein Problem
  + summe + "','"       ////////// <---------------- geht nicht.
  + buch_text +  "'," ///// kein Problem
  + aktiv_user + ")";///// kein Problem

ExecuteQuery(q);

Ich bekomme die Fehlermeldung:
(re)Data truncated for column'umsatz' at row 1

Moderiert von user profile iconTh69: XML-Tags hinzugefügt
Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Moderiert von user profile iconTh69: .NET Version 1.0 entfernt.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 23.07.15 11:40 
Du benutzt summe wie einen Text es ist aber kein Text es ist ein float.

Benutze auf keinen Fall einfach string concatenation um ein SQL Statement mit Variablen aufzufüllen. Das wirst du nur mit viel Aufwand dauerhaft funktionierend hinbekommen. Von den Security Problemen mal abgesehen.
Benutze Parameter die das Typgenau machen. Dann bekommst du auch immer das passende Format. Der Link bezieht sich aus Sql Server das sollte für mysql ähnlich/gleich sein. Aber besser in der entsprechenden Doku des von dir verwendeten mysql Connectors nachschlagen wie es im Detail auszusehen hat.

Warum behauptest du immer das wäre das Framework 1.0?