Como fazer uma pesquisa por data usando parâmetros, ou seja, a propriedade params da Query receber o que está sendo digitado em um Edit ou MaskEdit. Pra fazer uma pesquisa por data simples eu uso o código abaixo e ele funciona.
DM.QrConsPedidos.Close;
DM.QrConsPedidos.Sql.Text := 'Select Cliente, Data, Hora, Atendente, Total From Pedidos ' +
Agora, como seria uma pesquisa entre datas com os textos do Edit ou MaskEdit sendo passados como parâmetros? Eu tentei o código abaixo, mas não deu certo. Agradeço qualquer ajuda.
DM.QrRelatPed.Close;
DM.QrRelatPed.SQL.Text := 'Select Data, OS, Desc_od, Fab_od, Desc_oe, Fab_oe, Total from Pedidos ' +
'Where Data Between (Data =:DataBusca1) and (Data =: DataBusca2)';
Pergunta
Arlon
Como fazer uma pesquisa por data usando parâmetros, ou seja, a propriedade params da Query receber o que está sendo digitado em um Edit ou MaskEdit. Pra fazer uma pesquisa por data simples eu uso o código abaixo e ele funciona.
DM.QrConsPedidos.Close;
DM.QrConsPedidos.Sql.Text := 'Select Cliente, Data, Hora, Atendente, Total From Pedidos ' +
'Where (Data) =:DataBusca';
DM.QrConsPedidos.Params[0].AsDate := StrToDate(MaskEdit1.Text);
DM.QrConsPedidos.open;
Close;
Agora, como seria uma pesquisa entre datas com os textos do Edit ou MaskEdit sendo passados como parâmetros? Eu tentei o código abaixo, mas não deu certo. Agradeço qualquer ajuda.
DM.QrRelatPed.Close;
DM.QrRelatPed.SQL.Text := 'Select Data, OS, Desc_od, Fab_od, Desc_oe, Fab_oe, Total from Pedidos ' +
'Where Data Between (Data =:DataBusca1) and (Data =: DataBusca2)';
DM.QrRelatPed.Params[0].AsDate := StrToDate(MaskEdit1.Text);
DM.QrRelatPed.Params[1].AsDate := StrToDate(MaskEdit2.Text);
DM.QrRelatPed.open;
O erro que dá quando eu executo o código acima é:
"EDBEEngineError with message 'Invalid use of keyword'
Token: =?)
Line number: 1'
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.