AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Update ParamByName().AsFloat -> Truncated for Column
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Update ParamByName().AsFloat -> Truncated for Column

Ein Thema von TUX_der_Pinguin · begonnen am 8. Mai 2007 · letzter Beitrag vom 8. Mai 2007
Antwort Antwort
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#1

SQL Update ParamByName().AsFloat -> Truncated for Column

  Alt 8. Mai 2007, 14:28
Datenbank: MySQL • Version: 5 • Zugriff über: dbExpress
Hallo,

ich verwende Turbo Delphi und einen freien dbExpress Treiber um auf meine MySQL 5 Datenbank zugreifen zu können.
Alles super jedoch wenn ich ein Update auf eine Spalte wage die als FLOAT(10,2) definiert ist, kommt es zu
problemen.

Delphi-Quellcode:
procedure TfrmMain.Button1Click(Sender: TObject);
var
  SQLQuery : TSQLQuery;

begin
  SQLQuery := TSQLQuery.Create(Self);
  SQLQuery.SQLConnection := SQLCon;

  SQLQuery.SQL.Text := 'UPDATE Liste SET Preis=:Preis WHERE ID=:ID LIMIT 1';
  SQLQuery.ParamByName('ID').AsInteger := 478;
  SQLQuery.ParamByName('Preis').AsFloat := 25.95;
  SQLQuery.ExecSQL;

  SQLQuery.Close;
  SQLQuery.Free;

end;
Jedoch bekomme ich immer folgende Fehlermeldung, ich versteh nur nicht wieso.

Zitat:
Datenbank-Server-Fehler: Data truncated for column 'Preis' at row 1.
Wenn ich "SQLQuery.ParamByName('Preis').AsString := '25.95'" schreibe funktioniert es.
Aber es kann doch nicht im sinne des Erfinders sein.

Ach ja und Dezimaltrennzeichen habe ich in Delphi auf '.' geändert.

mfg

TUX
  Mit Zitat antworten Zitat
Udontknow

Registriert seit: 17. Jun 2002
223 Beiträge
 
#2

Re: SQL Update ParamByName().AsFloat -> Truncated for Col

  Alt 8. Mai 2007, 14:57
Hallo!

Evtl. ist das nicht wirklich ein Fehler, sondern eine Warnung vom SQL-Server, die aber in Delphi dann eben eine Exception auslösen. Etwas ähnliches habe ich bei DB2 erlebt, wo der Server mich drauf hingewiesen hatte, daß ich ein ';' am Ende meines Select-Statements habe, nachdem er es fehlerfrei ausgeführt hatte. Vielleicht kannst du in der Datenbank-Komponente per Parameter bestimmen, daß Warnungen nicht an die Clientapplikation gesendet werden sollen?

Cu,
Udontknow
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#3

Re: SQL Update ParamByName().AsFloat -> Truncated for Col

  Alt 8. Mai 2007, 14:59
oder eventuell ein floating problem, das die 25.95 intern mit vielen vielen nachkommastellen dargestellt werden, und die DB Komponente dann sagt, das es nachkommastellen abschneiden muß?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: SQL Update ParamByName().AsFloat -> Truncated for Col

  Alt 8. Mai 2007, 14:59
Versuch mal
SQLQuery.ParamByName('Preis').Value := 25.95;
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz