Buscar

PostgreSQL 8.3 - campo Numeric

Código

Inserir o código abaixo no botão Gravar

var
valor1, valor2 : string;
begin
  valor1 := cds.Fields[6].AsString;
  valor2 := cds.Fields[7].AsString;
  Insert('.',Valor1,Pos(',',cds.Fields[6].AsString));
  Insert('.',Valor2,Pos(',',cds.Fields[7].AsString));
  Delete(valor1,pos(',',cds.Fields[6].AsString) + 1,1);
  Delete(valor2,pos(',',cds.Fields[7].AsString) + 1,1);

  qrydados.Close;
  qrydados.SQL.Clear;
  qrydados.SQL.Add('UPDATE ' + EsquemaTabela + ' SET ' +
  '"' + cds.Fields[0].FieldName + '" = ''' + DateToStr(Date) + ''',' +
  '"' + cds.Fields[1].FieldName + '" = ''' + TimeToStr(Time) + ''',' +
  '"' + cds.Fields[2].FieldName + '" = ''' + cds.Fields[2].AsString + ''',' +
  '"' + cds.Fields[4].FieldName + '" = ''' + cds.Fields[4].AsString + ''',' +
  '"' + cds.Fields[5].FieldName + '" = ''' + cds.Fields[5].AsString + ''',' +
  '"' + cds.Fields[6].FieldName + '" = ''' + valor1 + ''',' +
  '"' + cds.Fields[7].FieldName + '" = ''' + valor2 + ''',' +
  '"' + cds.Fields[8].FieldName + '" = ''' + cds.Fields[8].AsString + ''',' +
  '"' + cds.Fields[9].FieldName + '" = ''' + cds.Fields[9].AsString + '''' +
  ' WHERE "' + pkcampo + '" = ' + '''' + cds.Fields[idxchave].AsString + ''';');
  qrydados.ExecSQL;

Criei dois campos Numeric(9,2) no Postgresql 8.3.
No formulário do Delphi 7, dava erro ao grava-lo. Então, a rotina acima substitui a vírgula por ponto - desaparecendo, dessa forma, o erro.

Observação: No ClientDataSet(cds) a propriedade do campo DisplayFormat = ,0.00;,0.00
   

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Banco de dados
Adicionada dia: 26/06/09
Por: Cesar Novaes
Visualizada: 2786 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009