Erro ao Abrir ClientDataSet
Caros Colegas..
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 :
Dá erro quando executo pelo delphi, mas não retorna nenhum erro quando executo direto na base.
O erro:
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.
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
Curtidas 0
Respostas
Osocram
18/09/2009
esse select que vc postou aqui vc pegou em tempo de execução?
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.
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
Cabelo
18/09/2009
Obrigado pela resposta..
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 ?
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
Osocram
18/09/2009
Tente faze o seguinte
So pare ter certeza que o problema não é o cast.
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
Cabelo
18/09/2009
Fiz exatamente este teste..rsssss
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 ?
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
Osocram
18/09/2009
Cara nunca vi esse problema com o between.
Qual o banco que vc esta usando?
talvez seja a formatação da data.
Qual o banco que vc esta usando?
talvez seja a formatação da data.
GOSTEI 0
Builder
18/09/2009
Dependendo do banco de dados, a data deverá ser formatada com pontos ao invés de barras, conforme dito pelo osocram e que também concordo:
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.
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
Cabelo
18/09/2009
Eu uso firebird e sempre utilizei com as barras
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 ?
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