Posts
Na verdade, no firebird é melhor vc usar
QuotedStr(FormatDateTime('MM/DD/YYYY',DataaPesquisar))
desculpa mas não achei um botão de edit.
O Ideal mesmo é você trabalhar com parametros tipo
...'where datapedido = :datapedido';SqlDataSet.Params.Params[0].AsDateTime := DataaPesquisar {em formato TDateTime mesmo};
10/08/2010
Eriley Barbosa
Pela mensagem ta passando as datas vazio.
Faça o seguinte teste, antes de abrir a query:
FPedidos.Pedidos.SQL.Add('select * from PEDIDOS LEFT OUTER JOIN Clientes ON PEDIDOS.clicodigo = Clientes.cliCodigo where PedStatus=0 and peddatalocacao >='+QuotedStr(Trim(MaskEdit1.Text))+
'and peddatalocacao <='+QuotedStr(Trim(MaskEdit2.Text)));
FPedidos.Pedidos.SQL.Add('order by clientes.CLIRAZAOSOCIAL');
ShowMessage(FPedidos.Pedidos.SQL.Text);
Ao aparecer a mensagem tecle CTRL + C e cole no IBExpert ou IBConsole, retire o que tiver além do código SQL e execute, se não der erro retire o ShowMessage.
Se der erro poste o erro e o SQL aqui.
Atenciosamente
Eriley
10/08/2010
Eriley Barbosa
Antes do and tem um espaço.
Faça o seguinte teste, antes de abrir a query:
FPedidos.Pedidos.SQL.Add('select * from PEDIDOS LEFT OUTER JOIN Clientes ON PEDIDOS.clicodigo = Clientes.cliCodigo where PedStatus=0 and peddatalocacao >='+
QuotedStr(Trim(MaskEdit1.Text))+' and peddatalocacao <='+QuotedStr(Trim(MaskEdit2.Text)));
FPedidos.Pedidos.SQL.Add('order by clientes.CLIRAZAOSOCIAL');
ShowMessage(FPedidos.Pedidos.SQL.Text);
Ao aparecer a mensagem tecle CTRL + C e cole no IBExpert ou IBConsole, retire o que tiver além do código SQL e execute, se não der erro retire o ShowMessage.
Se der erro poste o erro e o SQL aqui.
Atenciosamente
Eriley
Ta falando que formatdatetime called com eses argumentos
no caso estaria usando o maskedit pra jogar a data ali no sql query pq ta dando esse erro?
FPedidos.Pedidos.SQL.Add('select * from PEDIDOS LEFT OUTER JOIN Clientes ON PEDIDOS.clicodigo = Clientes.cliCodigo where PedStatus=0 and peddatalocacao >='+QuotedStr(FormatDateTime('MM/DD/YYYY',Maskedit1.text))+'and peddatalocacao <='+QuotedStr(FormatDateTime('MM/DD/YYYY',maskedit2.text)));
ficaria assim a query? ta dando erro acima
pq vc está passando a maskedit e o valor tem q ser em TDateTime. Usa
FormatdateTime('MM/DD/YYYY',StrToDate(MaskEdit1.Text));e pode tb colocar a mask do seu maskedit com as barras 00/00/0000
mas eu recomendaria utilizar um DateTimePicker
Galera consegui fazer oque queria usando o
Fpedidos.Pedidos.Params[0].value:=maskedit1.Text;
Fpedidos.Pedidos.Params[1].value:=maskedit2.Text;
Ae so mudei o SQL ali do query do form pedidos e deu certo =)