Fórum Comando SQL para Data #320529

03/05/2006

0

Boa tarde galera,

Estou tentando fazer uma query que vai pegar todos os registros que foram salvos
entre as datas que estão em meus Maskedits.

Não entendi o poruqe de não estar funcionando, porem eu acho que é o tipo de formatação da
data, pois quando eu insiro algum data neste campo direto do banco de dados, ele recebe
como dd/mm/yy.

Agora quando meu programa esta em execução e eu tento gerar o seguinte relatório
ele dá o seguinte erro :


Project SCP.exe raised exception Class EDataBaseError with message ´Database Server Error: Conversation error from string "20/10/2005"´.



Me parece que ele está pegando uma formatação do tipo mm/dd/yyyy.

Olhem como estou gerando o SQL abaixo :


DM.CdsRelFornecedor.Close;
DM.SqlRelFornecedor.CommandText :=
´Select * From Fornecedor ´ +
´Inner Join Tipo_Produto on Tipo_Produto.Cod_Fornecedor = ´ +
´Fornecedor.Cod_fornecedor ´ +
´Inner Join Material on Material.Cod_Material = ´ +
´Tipo_Produto.Cod_Material ´ +
´Inner Join Produto on Produto.Cod_Produto = ´ +
´Tipo_Produto.Cod_Produto ´ +
´Where Fornecedor.Cod_Fornecedor = ´ +
QuotedStr(CmbFornecedor.KeyValue) + ´ and ´ +
´Produto.Data Between ´ +
QuotedStr(MaskEdit1.Text) +
´ and ´ +
QuotedStr(MaskEdit2.Text);
DM.CdsRelFornecedor.Open;



Alguem pode me ajudar ?


Desde já agradeço a atenção.

Maic Nogueira.


Maic.rio

Maic.rio

Responder

Posts

04/05/2006

Joaoshi

Colega,

No SQL o formato de data padrão é MM/DD/YYYY.

Format o MaskEdit.

QuotedStr(FormatDateTime(´MM/DD/YYYY´,StrToDate(MaskEdit1.Text)) +
´ and ´ +
QuotedStr(FormatDateTime(´MM/DD/YYYY´,StrToDate(MaskEdit2.Text));

Espero ter ajudado.


Responder

Gostei + 0

05/05/2006

Rjun

Em vez de enfiar tudo isso via código, utilize parâmetros. Sua solução ficará mais legivel.


Responder

Gostei + 0

12/05/2006

Maic.rio

Obrigado Joao,

Funcionou sim.

Vlw.
Abraços


Responder

Gostei + 0

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

Aceitar