Problema com valores monetários
O Maikel, me ajude nessa aqui, por gentileza, e parabens pelos artigos da ClubeDelphi, valeu.
Fala galera, eu uso uma ferramenta do Maikel Scheid para criar minhas classes de Manipulação de Dados em BDS 2006, porém não consigo incluir valores monetérios, vejam exemplo:
procedure TWebForm1.BtGravar_Click(sender: System.Object; e: System.EventArgs);
var
Entradas : TClasseEntradas;
begin
VerificaConexao;
Entradas := TClasseEntradas.Create;
Entradas.PID_MEMBRO := Convert.ToInt64(dpMembros.SelectedItem.Value);
Entradas.PDATA := txtData.Text;
Entradas.PID_ESCOLA := Convert.ToInt64(dpEscolas.SelectedItem.Value);
Entradas.PFORMA := dpForma.SelectedValue;
Entradas.POBS := txtOBS.Text;
Entradas.PVALOR := txtValor.Text;
Entradas.Salvar;
LblMensagem.Text := Entradas.RETORNO;
Não consegue gravar por exemplo 110,00 com virgula somente com ponto, alguem tema alguma luz ????
Fala galera, eu uso uma ferramenta do Maikel Scheid para criar minhas classes de Manipulação de Dados em BDS 2006, porém não consigo incluir valores monetérios, vejam exemplo:
procedure TWebForm1.BtGravar_Click(sender: System.Object; e: System.EventArgs);
var
Entradas : TClasseEntradas;
begin
VerificaConexao;
Entradas := TClasseEntradas.Create;
Entradas.PID_MEMBRO := Convert.ToInt64(dpMembros.SelectedItem.Value);
Entradas.PDATA := txtData.Text;
Entradas.PID_ESCOLA := Convert.ToInt64(dpEscolas.SelectedItem.Value);
Entradas.PFORMA := dpForma.SelectedValue;
Entradas.POBS := txtOBS.Text;
Entradas.PVALOR := txtValor.Text;
Entradas.Salvar;
LblMensagem.Text := Entradas.RETORNO;
Não consegue gravar por exemplo 110,00 com virgula somente com ponto, alguem tema alguma luz ????
Pauloroger
Curtidas 0
Respostas
Maikel
24/01/2008
Olá Paulo
Seguinte, não somente com essa minha ferramenta, mas com todas as operações em que você utiliza parametros para passagem de valores a serem gravados numa base firebird acontece esse problema. Pelo que entendi, você grava o valor 110,00 mas no banco de dados aparece como 11000.
A solução até é bem simples, como você mesmo falou, aceita com ponto.
Ao passar o valor, utilize o comando Replace, que irá substituir a virgula por ponto caso seja encontrado. Faça assim:
Vê ai se isso resolve seu problema, qualquer coisa chama ai de novo.
Att
Seguinte, não somente com essa minha ferramenta, mas com todas as operações em que você utiliza parametros para passagem de valores a serem gravados numa base firebird acontece esse problema. Pelo que entendi, você grava o valor 110,00 mas no banco de dados aparece como 11000.
A solução até é bem simples, como você mesmo falou, aceita com ponto.
Ao passar o valor, utilize o comando Replace, que irá substituir a virgula por ponto caso seja encontrado. Faça assim:
Entradas.PVALOR := txtValor.Text.Replace(´,´,´.´);
Vê ai se isso resolve seu problema, qualquer coisa chama ai de novo.
Att
GOSTEI 0
Pauloroger
24/01/2008
Valeu Maikel, deu certo, um grande abraço e sucesso !!!
Paulo Freire
Paulo Freire
GOSTEI 0