Einzelnen Beitrag anzeigen

TUX_der_Pinguin

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

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

  Alt 8. Mai 2007, 13: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