DecimalSeparator + FireDac (Ignora a pontuação) com Exemplo

20/07/2016

0

Existe alguma propriedade para setar no TFDConnection ou TFDStoredProc , para que o decimal separator seja respeitado?

Segue o exemplo de teste

var i: integer;
s: string;
d: TDatetime;
f: Extended;
begin

//Delphi Berlin
//Application in Firemonkey
//SQL Server 2014

i:= 1;
s:= 'MARIO';
d:= date();
f:= 3.5;

System.SysUtils.FormatSettings.DecimalSeparator:= '.';
with FDStoredProc1 do
try
try
Params.ClearValues();
Params.FindParam('@ID').AsInteger := i;
Params.FindParam('@Texto').AsString := s;
Params.FindParam('@data').AsSQLTimeStamp := DateTimeToSQLTimeStamp(d);
Params.FindParam('@valor').AsFloat := f;
Params.FindParam('@valor2').AsFloat := f;
Params.FindParam('@Texto2').AsString := s;

ExecProc;

//EXECUTADO:
// [sp_firedacTest] 1,'MARIO','2016-07-20 00:00:00',3,5,3,5,'MARIO'

except
on e:Exception do ShowMessage(e.Message);

//ERRO: Há muito argumentos especificados para o
// procedimento ou a função sp_firedacTest.
end;
finally
System.SysUtils.FormatSettings.DecimalSeparator:= ',';
end;
Mario França

Mario França

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar