Fórum Erro ao Abrir ClientDataSet #375069
18/09/2009
0
Estou com um problema e não consigo visualizar a solução..
Tento executar um SQL usando o ClienDataSet ligado a um TSQLQuery
a instrução :
"select Distinct Cast(C_DATA_HORA_MOVIMENTO as date) as C_DATA_HORA_MOVIMENTO from ME0100 where C_COD_EMPRESA = ´002´ and Cast(C_DATA_HORA_MOVIMENTO as date) between ´09/18/2009´ and ´09/18/2009´ order by C_DATA_HORA_MOVIMENTO"
Dá erro quando executo pelo delphi, mas não retorna nenhum erro quando executo direto na base.
O erro:
"Unexpected end of command - line 1, column 484"
O detalhe, o sql não tem coluna 484 e não vejo nenhum erro!
Alguém sabe o motivo do erro ?
Agardeço a todos antecipadamente.
Cabelo
Curtir tópico
+ 0Posts
18/09/2009
Osocram
tipo deixa o delphi gerar o comando e antes dele executar vc faz a copia do cds.commandText, copiar p um Memo ou para o ClipBoard.
Ou vc pode tbm colocar um sqlMonitor e ver o que ele ta gerando.
Pois olhando assim por cima não vi problema no seu sql.
Gostei + 0
18/09/2009
Cabelo
estou pegando em tempo de execução sim.. exatamente o que está sendo enviado pelo ClientDataSet
na verdade eu incluo o SQL na TSQLQuery e dou um open no client, mas tá retornando este erro..
Imagina o que possa ser ?
Gostei + 0
18/09/2009
Osocram
select C_DATA_HORA_MOVIMENTO from ME0100 where C_COD_EMPRESA = ´002´ order by C_DATA_HORA_MOVIMENTO
So pare ter certeza que o problema não é o cast.
Gostei + 0
18/09/2009
Cabelo
Tb achei qye pudesse ser..
Acho que o problemas está no between
Se mando com um dia de diferença entre as datas dá certo.. rssss
Estou analisando.. mas deveria funcionar como está.. sempre foi assim.. será que é alguma configuração do BD ?
Gostei + 0
18/09/2009
Osocram
Qual o banco que vc esta usando?
talvez seja a formatação da data.
Gostei + 0
18/09/2009
Builder
Troque:
´09/18/2009´ and ´09/18/2009´
Por:
´09.18.2009´ and ´09.18.2009´
Tente executar o comando em um utilitário SQL para ver se roda, por exemplo se estiver usando o Firebird, rode o comando no Flamerobin.
Também pode colocar uma captura de texto após setar o commandtext e antes de executar afim de verificar em tempo de execução a formatação do comando. Cuidado para não pegar o comando truncado. Joque o commandtext em um Tmemo ou algo similar.
Gostei + 0
21/09/2009
Cabelo
formato : mm/dd/yyyy
Nunca tive problemas tb..
Tenho vários sistema e sempre utilizei desta forma.. estou procurando o que pode ser.. pois não acredito que o problema seja no BD pois executo estra instrução direto nele e dá certo.. retorna as datas sem erro.. Mesmo usando o between com a mesma data..
O problema está na hora em que faço isto pelo delphi..
Acho que o problemas está no ClientDataSet..
Vocês tem idéia do que pode ser ?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)