Array
(
)

Consulta SQL

Felipeiw
   - 05 abr 2006

Estou utilizando dbexpress para acessar mhs tabelas, estou precisando fazer uma consulta em um tabela e fazer um join em outro para pegar o nome do cliente, tenho que criar um campo no ClientDataset, que tipo tem que ser? Para eu poder lista-lo no DBGrid?


#Código


DM.CdsPedidos.CommandText := ´SELECT a.*, b.nomcli FROM ftsolicitacao1 a, ftclientes b WHERE a.codcli = b.codcli and datsoc BETWEEN ´´´+EDatini.DateText+´´´ AND ´´´+EDatfin.DateText+´´´´;



Emerson
   - 05 abr 2006

têm que ser do mesmo tipo do campo da tabela


Camilo
   - 05 abr 2006

eu faço + ou - assim
´SELECT ´+
´ a.*, b.nomcli ´+
FROM ftsolicitacao1 a
left outer join ftclientes b on (a.codcli = b.codcli)
where datsoc BETWEEN ´´´+EDatini.DateText+´´´ AND ´´´+EDatfin.DateText+´´´´;


Emerson
   - 05 abr 2006

dê preferência por parâmetros:#Código

with DM.CdsPedidos do
begin
CommandText :=
´SELECT a.*, b.nomcli ´+
´FROM ftsolicitacao1 a ´+
´inner join ftclientes b on (b.codcli = a.codcli) ´+
´WHERE datsoc BETWEEN :dataini AND :datafim ´;
Params.ParamByName(´dataini´).AsDateTime := data_inicial;
Params.ParamByName(´dataini´).AsDateTime := data_final;
Open;
end;



Felipeiw
   - 06 abr 2006

Obrigado galera, mas nao deu certo, digo o seguinte tenho que criar o campo no fields do clientdatset como, data,calculed,lookup,internalcalc, tentei com todos, estou criando exatamente do mesmo tipo e tamanho, a consulta foi alterada conforme sugestao porem nao retorna o nome do cliente quando o coloco no dbgrid, o restante dos dados aparecem, testei tb mh linha de codigo no console do bd e funcionou o mesmo com o codigo sugerido, porem no delphi o problema continua.
Abs