Consulta entre datas SQL

Delphi

19/06/2004

usei isso no delphi 5 e funcionou:

dados.consulta_compras.close;
dados.consulta_compras.SQL.Text := ´Select * from compras where data_compra >= :data_inicial and ´ + ´ data_compra <= :data_final´ + ´ order by Codigo_compra´;
dados.consulta_compras.ParamByName(´data_inicial´).AsDateTime := data_inicial_consulta_compras.datetime;
dados.consulta_compras.ParamByName(´data_final´ ).AsDateTime := data_final_consulta_compras.datetime;
dados.consulta_compras.open;

Agora to com o delphi 6, ele dá a msg que:
´[Error] U_Relatorios.pas(69): Undeclared identifier: ´ParamByName´´


Henrique Rodrigues

Henrique Rodrigues

Curtidas 0

Respostas

Bon Jovi

Bon Jovi

19/06/2004

Isso depende da classe q vc ta usando.

Se for ADO:
ADODataSet1.Parameters.ParamByName(´CAMPO´).Value := 0;

Se for cliente Midas:
ClientDataSet1.Params.ParamByName(´CAMPO´).AsInteger := 0;

Se for dbExpress e a mairia dos outros:
SQLDataSet1.ParamByName(´CAMPO´).AsInteger := 0;
ou tb
SQLDataSet1.Params.ParamByName(´CAMPO´).AsInteger := 0;


GOSTEI 0
Otto

Otto

19/06/2004

aproveitando seu codigo:

Select * from compras where data_compra >= :data_inicial and ´ + ´ data_compra <= :data_final´ + ´ order by Codigo_compra


dados.consulta_compras.Params[00].AsDateTime := data_inicial_consulta_compras.datetime; 
dados.consulta_compras.Params[01].AsDateTime := data_final_consulta_compras.datetime; 
dados.consulta_compras.open;



GOSTEI 0
Henrique Rodrigues

Henrique Rodrigues

19/06/2004

tentei isso

dados.Q_C_REL_Estoque.close;
dados.Q_C_REL_Estoque.sql.clear;
dados.Q_C_REL_Estoque.sql.text := ´select * from C_Venda_REL_Produto where cod_produto = ´+ localizar_produto +´ and data >= :data_inicial and data <= :data_final´;
dados.Q_C_REL_Estoque.Parameters.ParamByName(´data_inicial´).Value := DateTimePicker1.Date;
dados.Q_C_REL_Estoque.Parameters.ParamByName(´data_final´).value := DateTimePicker2.Date;
dados.Q_C_REL_Estoque.open;


aparece um erro assim

´tipo de dados incompatível n aexpressão critério


GOSTEI 0
Henrique Rodrigues

Henrique Rodrigues

19/06/2004

o com ponente é ADOQuery


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

19/06/2004

dados.Q_C_REL_Estoque.close;
dados.Q_C_REL_Estoque.sql.clear;
dados.Q_C_REL_Estoque.sql.text := ´select * from C_Venda_REL_Produto where cod_produto = ´+ localizar_produto +´ and data >= :data_inicial and data <= :data_final´;
dados.Q_C_REL_Estoque.Parameters.ParamByName(´data_inicial´).Value := DateTimePicker1.Date;
dados.Q_C_REL_Estoque.Parameters.ParamByName(´data_final´).value := DateTimePicker2.Date;
dados.Q_C_REL_Estoque.open;

[size=18:206740ed19]o que é ´localizar_produto´ ?[/size:206740ed19]


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

19/06/2004

Colega,

Ou:

With dados.Q_C_REL_Estoque do
begin
  close;
  sql.text := ´select * from C_Venda_REL_Produto where cod_produto = :produto and data between :data_inicial and :data_final´;
  Parameters.ParamByName(´produto´).Value      := localizar_produto;
  Parameters.ParamByName(´data_inicial´).Value := DateTimePicker1.Date;
  Parameters.ParamByName(´data_final´).value   := DateTimePicker2.Date;
  open;
end;



GOSTEI 0
Henrique Rodrigues

Henrique Rodrigues

19/06/2004

deu o mesmo erro, localizar_produto é uma variável.

o objetivo é listar um certo código de produtos entre datas


GOSTEI 0
Henrique Rodrigues

Henrique Rodrigues

19/06/2004

agora deu certo, usei tudo string aí funcionou


GOSTEI 0
POSTAR