GARANTIR DESCONTO

Fórum Erro em select #276566

11/04/2005

0

Estou usando o seguinte seletc no delphi com firebird 1.5

select * from ATENDIMENTO left join CHAMADO on ATENDIMENTO.IDCHAMADO = CHAMADO.IDCHAMADO left join CLIENTE on CHAMADO.IDCLIENTE = CLIENTE.IDCLIENTE left join TECNICO on ATENDIMENTO.IDTECAGENDADO = TECNICO.IDTECNICO left join TECNICO on ATENDIMENTO.IDTECATENDIDO = TECNICO.IDTECNICO left join TIPO on ATENDIMENTO.TIPO = TIPO.IDTIPO where ATENDIMENTO.IDCHAMADO in (select IDCHAMADO from CHAMADO where IDCLIENTE = :PCliente) order by ATENDIMENTO.IDCHAMADO, ATENDIMENTO.IDATENDIMENTO


No ibconsole e no ibexpert ele executa normalmente, qdo tento executálo pelo delphi ele dá o erro de numeric overflow or string truncation


Anfm

Anfm

Responder

Posts

11/04/2005

Gandalf.nho

Vc está passando o CHARACTER SET correto na conexão?


Responder

Gostei + 0

11/04/2005

Ariovaldo

vc esta passando o Parametro PCliente lá no DepHi?


Responder

Gostei + 0

12/04/2005

Anfm

Sim.... estou passando o parâmetro PCliente corretamente.

A única propriedade q mudei no ClientDataSet foi o PacketRecords para 30, para q a consulta me troucesse 30 registros de cada vez. Já voltei pra 0 q é o default e continua o mesmo erro.


Responder

Gostei + 0

12/04/2005

Cabelo

Colega..

Seu problema está no seu SQLConnection, vc deve setar o CharSet de acordo com o banco que vc usa, o firebird faz esta distinção.

Entre na sua conexão e altere de acordo com o IBExpert, o charset e o collate..

pois sem isso vc não consegue selecionar alguns registros que tenham caracteres especiais..

espero ter ajudado..


Responder

Gostei + 0

12/04/2005

Emerson Nascimento

não entendi o porque do subselect. assim funcionaria:

select * 
from ATENDIMENTO 
left join CHAMADO on (CHAMADO.IDCHAMADO=ATENDIMENTO.IDCHAMADO)
left join CLIENTE on (CLIENTE.IDCLIENTE=CHAMADO.IDCLIENTE)
left join TECNICO AGEN on (AGEN.IDTECNICO=ATENDIMENTO.IDTECAGENDADO)
left join TECNICO ATEN on (ATEN.IDTECNICO=ATENDIMENTO.IDTECATENDIDO)
left join TIPO on (TIPO.IDTIPO=ATENDIMENTO.TIPO)
where CHAMADO.IDCLIENTE = :PCliente
order by ATENDIMENTO.IDCHAMADO, ATENDIMENTO.IDATENDIMENTO


eu apelidei a tabela TECNICO pois o servidor pode estar se ´perdendo´ por ter as duas tabelas com o mesmo apelido.


Responder

Gostei + 0

12/04/2005

Anfm

a propriedade packet records na verdade é -1.....

voltei a propriedade para -1 e funcionou, e também tirei o subselect e fiz igual ao indicado aki no fórum.

Obrigado pela atenção de todos


Responder

Gostei + 0

12/04/2005

Anfm

a propriedade packet records na verdade é -1.....

voltei a propriedade para -1 e funcionou, e também tirei o subselect e fiz igual ao indicado aki no fórum.

Obrigado pela atenção de todos


Responder

Gostei + 0

12/04/2005

Anfm

a propriedade packet records na verdade é -1.....

voltei a propriedade para -1 e funcionou, e também tirei o subselect e fiz igual ao indicado aki no fórum.

Obrigado pela atenção de todos


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar