Vamos lá!
Primeiro notei que estás sempre colocando '%' antes e depois, e utilizando os 
operadores = <> >= ... buenos, o % só deve ser utilizado com o LIKE e tb deve 
ser utilizado com muito cuidado, pois o banco não se utiliza dos índices para a 
instrução LIKE que tem % ante e depois do texto.
Segundo é que tudo está sendo colocado como um texto, isto é, a propriedade 
Value está sempre recebendo uma string. Te aconcelho a atribuir o valor 
correto, isto é, se o campo que será comparado é uma data então atribua uma 
data ao parâmetro, exemplo:
ADOQuery.Parameters.ParamByName('DtDigit').Value := Date;

Mesmo assim talvez seja necessário atribuir o tipo de dados do parametro, que 
se não me falha a memória é a propriedade DataType.

Alessandro DUARTE de Moraes
A.C. Santa Casa do Rio Grande.
http://www.santacasarg.com.br

  ----- Original Message ----- 
  From: Eduardo Mauricio Pessoa de Souza 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Thursday, September 27, 2007 10:52 AM
  Subject: [delphi-br] ADOQuery - Erro com parametros


  Bom dia, Pessoal

  Sou programador a bastante tempo, porém, começo agora a trabalhar com
  Delphi. Montei um DBgrid que recebe dados de um ADOQuery, mas estou com
  problemas nos parâmetros. o Erro é o seguinte:

  Project Project1.EXE raised exception class EOleException with message
  'Objeto Parameter definido incorretamente'.
  As informações são inconsistentes ou incompletas.

  procedure TForm1.BitBtn1Click(Sender: TObject);
  Var cQuery : String;
  begin
  cQuery := 'SELECT D1_FORNECE CLIENTE, D1_LOJA LOJA, D1_DTDIGIT DT_DEV,
  D1_NFORI DOC_ORIG, D1_DOC DOC_DEV, SUM(D1_TOTAL-D1_VALDESC) TOTAL ';
  cQuery := cQuery + 'FROM SD1010 ';
  cQuery := cQuery + 'WHERE D1_FILIAL = :Filial ';
  cQuery := cQuery + ' AND D_E_L_E_T_<> :Deletado ';
  cQuery := cQuery + ' AND D1_DTDIGIT>= :DtDigit ';
  cQuery := cQuery + ' AND D1_NFORI IN (SELECT DAI_NFISCA FROM DAI010 WHERE
  DAI_COD= :Carga AND DAI010.D_E_L_E_T_<> :Deletado AND DAI_FILIAL= :Filial
  ';
  cQuery := cQuery + 'GROUP BY D1_FORNECE, D1_LOJA, D1_DTDIGIT, D1_NFORI,
  D1_DOC ';
  cQuery := cQuery + 'ORDER BY D1_DTDIGIT ';
  ADOQuery1.close;
  ADOQuery1.SQL.Add(cQuery);
  ADOQuery1.Parameters.ParamByName('Filial').Value :=
  #39+'%'+Edit1.Text+'%'+#39;
  ADOQuery1.Parameters.ParamByName ('DtDigit').Value :=
  #39+'%'+Edit2.Text+'%'+#39;
  ADOQuery1.Parameters.ParamByName('Carga').Value :=
  #39+'%'+Edit3.Text+'%'+#39;
  ADOQuery1.Parameters.ParamByName('Deletado').Value :=
  #39+'%'+Edit4.Text+'%'+#39;
  ADOQuery1.Open;
  end;

  -- 
  Eduardo Pessoa

  [As partes desta mensagem que não continham texto foram removidas]



   
  -------------------------- 
  E-mail Seguro Vetorial.net 

  Mensagem classificada como NÃO-SPAM. Para classificar como SPAM, 
  encaminhe para [EMAIL PROTECTED] 

  Chave de Identificação: 54568,46fbbc2c327881807729863 


[As partes desta mensagem que não continham texto foram removidas]

Responder a