Formatar campo SQL
Estou tentando formatar um campo de um comando SQL através de uma QUERY, mas ainda não obitive sucesso. Exemplo:
Sendo que [b:34c0cbdefe]TOTAL [/b:34c0cbdefe]é um campo do tipo [b:34c0cbdefe]NUMERIC[/b:34c0cbdefe]. Porém a propriedade
[b:34c0cbdefe]DisplayFormat [/b:34c0cbdefe]não é reconhecido como complemento de [b:34c0cbdefe]ParamByNam[/b:34c0cbdefe]e.
Para o que pretendo fazer o único meio de formatar o campo é fazendo
as modificações na [b:34c0cbdefe]QUERY[/b:34c0cbdefe] no proprio código.
Desde já obrigado.
with DataModule.Query to begin close; SQL.clear; SQ.Add(´select TOTAL from conta...´); ParamByname(´TOTAL´).DisplayFormat := ´#,0.00´; open; end;
Sendo que [b:34c0cbdefe]TOTAL [/b:34c0cbdefe]é um campo do tipo [b:34c0cbdefe]NUMERIC[/b:34c0cbdefe]. Porém a propriedade
[b:34c0cbdefe]DisplayFormat [/b:34c0cbdefe]não é reconhecido como complemento de [b:34c0cbdefe]ParamByNam[/b:34c0cbdefe]e.
Para o que pretendo fazer o único meio de formatar o campo é fazendo
as modificações na [b:34c0cbdefe]QUERY[/b:34c0cbdefe] no proprio código.
Desde já obrigado.
Fabricio.ribeiro
Curtidas 0
Respostas
Woinch
09/03/2009
Você não pode setar formatos de visualização (display format) para Parâmetros, esse método serve apenas para campos (TFields). Não sei se eu entendi direito o que você quer. Mas pelo código e pelo exemplo da Select. Utilize ao invez de ParamByName FieldByName.
Espero ter ajudado.
Espero ter ajudado.
GOSTEI 0
Fabricio.ribeiro
09/03/2009
Woinch não Funcionou.
O que eu quero teoricamente é simples. Quero formatar um Campo de uma
tabela através de uma QUERY, e exibir isto em um DBGrid. Porém a formatação
só pode ser feita no código, ou seja, eu não posso colocar o comando SQL
diretamente no componente QUERY.
O que eu quero teoricamente é simples. Quero formatar um Campo de uma
tabela através de uma QUERY, e exibir isto em um DBGrid. Porém a formatação
só pode ser feita no código, ou seja, eu não posso colocar o comando SQL
diretamente no componente QUERY.
GOSTEI 0
Woinch
09/03/2009
Pode me dar um exemplo?
GOSTEI 0
Fabricio.ribeiro
09/03/2009
Bom... tenho um DBGrid onde quero exibir os registros da Tabela CONTA.
Nesta Tabela temos os campos ID_CONTA, DATA, PERIODO e TOTAL.
Total é do tipo NUMERIC(2,9).
Quando faço uma consulta na tabela e venho com um determinado registro,
exibo-o no DBDrig, porém, por exempo, no campo TOTAL é exibido o seguinte valor: 1,5.
Agora quero formatar este campo para que seja exibido no DBGrid o seguinte valor: 1,50. Ou seja, os valores terão pelos menos duas casas decimais após a virgula.
O DBGrid estará ligada com o DataSoruce da QUERY.
O que foi explicado assima não é difícil quando a consulta é inserida diretalmente na propriedade SQL de um componente QUERY, poi basta
usar a propriedade Display Format dos Campos da Consulta. Porém
quero fazer isto em um procedimento, ou seja, em tempo de execução,
e é aí que se encontra o problema.
Espero que tenha esclarecido o problema.
Nesta Tabela temos os campos ID_CONTA, DATA, PERIODO e TOTAL.
Total é do tipo NUMERIC(2,9).
Quando faço uma consulta na tabela e venho com um determinado registro,
exibo-o no DBDrig, porém, por exempo, no campo TOTAL é exibido o seguinte valor: 1,5.
Agora quero formatar este campo para que seja exibido no DBGrid o seguinte valor: 1,50. Ou seja, os valores terão pelos menos duas casas decimais após a virgula.
O DBGrid estará ligada com o DataSoruce da QUERY.
O que foi explicado assima não é difícil quando a consulta é inserida diretalmente na propriedade SQL de um componente QUERY, poi basta
usar a propriedade Display Format dos Campos da Consulta. Porém
quero fazer isto em um procedimento, ou seja, em tempo de execução,
e é aí que se encontra o problema.
Espero que tenha esclarecido o problema.
GOSTEI 0
Abysmall
09/03/2009
Olá Fabrício...
Qual versão do Delphi você usa?
Tente usar o seguinte:
Qual versão do Delphi você usa?
Tente usar o seguinte:
with DataModule.Query do begin Close; SQL.Clear; SQL.Add(´ SELECT CAST(CONTA.TOTAL AS FLOAT) AS TOTAL FROM CONTA ´); Open; FieldByname(´TOTAL´).DisplayFormat := ´#,0.00´; end;
GOSTEI 0
Fabricio.ribeiro
09/03/2009
Olá abysmall!
Estou usando o Delphi 7 e o banco Firebird 2.0
Tentei a sua sugestão, porém o delphi não reconhece DisPlayFormat como um complemento de FielByName().
Obrigado por responder.
Estou usando o Delphi 7 e o banco Firebird 2.0
Tentei a sua sugestão, porém o delphi não reconhece DisPlayFormat como um complemento de FielByName().
Obrigado por responder.
GOSTEI 0
Fabricio.ribeiro
09/03/2009
UFFA!
Demorou mas consegui...
Bom pessoal obrigado pela ajuda, acabei achando um meio de se resolver
tal problema, e é do seguinte modo:
Obrigado por tudo! :D
Demorou mas consegui...
Bom pessoal obrigado pela ajuda, acabei achando um meio de se resolver
tal problema, e é do seguinte modo:
with DataModule.Query do begin Close; SQL.Clear; SQL.Add(´ SELECT CAST(CONTA.TOTAL AS FLOAT) AS TOTAL FROM CONTA ´); Open; TNumericField(DataModule.Query.FieldByname(´TOTAL´).DisplayFormat := ´#,0.00´; end;
Obrigado por tudo! :D
GOSTEI 0