Jump to content

Campo alias da query no dbgrid nao funciona


Vieira

Recommended Posts

Tenho o seguinte codigo funcionando perfeitamente no DBGrid:

 

with uniMainModule.qryAuxCliente do
begin
  Close;
  SQL.Clear;
  SQL.Add('select *, datediff(curdate(), clientes.DATAULTIMACOMPRA) as dias2 from clientes where inatividade is not null and dataultimacompra between :d1 and :d2 order by nome');
  Params.ParamByName('d1').AsDate := UniDateTimePicker11.DateTime;
  Params.ParamByName('d2').AsDate := UniDateTimePicker12.DateTime;
  Open();
  UniDBGrid1.Columns[3].FieldName := 'dias2'; //arrumar aqui

 

mas quando utilizo unidbgrid nao funciona, a coluna 3 nao recebe o valor do alias criado na query.

 

Alguem pode ajudar?

Link to comment
Share on other sites

Olá Rodrigo, se eu entendi corretamente.

 

Caso seu DataSource esteja ligado com sua uniDBGrid o FieldName da sua coluna 3 já vai ter o FieldName = "dias2".

 

Porém caso você queira alterar o Caption de sua coluna da Grid basta fazer

 

UniDBGrid1.Columns[3].Title.Caption := 'dias2updated';

Link to comment
Share on other sites

Bom dia Marlon,

 

Vou tentar explicar como eu uso:

 

No grid eu criei uma coluna em branco.

 

Depois faço uma consulta comparando a data de hoje com a data da ultima compra do cliente.

 

O resultado de dias deveria ser exibido nessa coluna, entao eu atribuí o alias dias2.

 

O datasource esta ligado ao grid mas esse campo dias2 nao existe na tabela, ele é criado como resultado da consulta atediff(curdate(), clientes.DATAULTIMACOMPRA) as dias2

 

Na linha que eu atribuo o valor do fieldname, nao esta retornando o valor desta consulta, vem em branco.

 

Se eu utilizo dbgrid funciona normalmente, no unidbgrid não.

 

A forma que estou encontrando é criar um campo agregado na tabela pra trazer esse resultado, mas gostaria de entender/aprender o porque nao funciona no unigui.

 

Obrigado

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...