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