Muito estranho esse seu problema, vc tem absolula certesa que o erro aparece na 
linha onde vc adiciona o SQL?

bom vamos por parte. Qual a Versão do Zeos que vc ta usando?

para fazer um teste preliminar, tente colocar todo o SQL na propriedade SQL em 
desigtime e no código somente acesse os parâmetros para ver..

deve ficar assim:

procedure T_compra.lcbFornecedorClick(Sender: TObject);
begin
    with dm.tbtit do begin
     Close;
     ParamByName( 'idfor' ).AsInteger  := dm.tbforn.FieldByName( 'CodFor' 
).AsInteger;
     ParamByName( 'tipo' ).AsString     := 'P';
     Open;
    end;
    
    if lcbFornecedor.Text <> '' then
       rgFaseCompra.SetFocus;

end;

lembre-se para este teste inicial coloque todo o SQL na propriedade ok..

.......................................................
Eduardo Silva dos Santos
DRD Sistemas.
(27) 3218-4201
MSN: [EMAIL PROTECTED]
Site: http://www.drdsistemas.com/
.......................................................
  ----- Original Message ----- 
  From: biasettija 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Monday, December 31, 2007 8:15 AM
  Subject: [delphi-br] MySQL não funciona. Parameter 'xxx' not found.


  Estou repetindo a mensagem, pois a anterior se perdeu por sete razões.
  Tenho o seguinte código (D3, MySQL5, Zeos):

  procedure T_compra.lcbFornecedorClick(Sender: TObject);
  begin
  with dm.tbtit do begin
  CLOSE;
  sql.Clear;
  sql.Add('SELECT * FROM Titulo ');
  sql.Add('WHERE (CliFor = :idfor) and '); //--> erro aqui **********
  sql.Add('(Tipo = :tipo)');
  ParamByName( 'idfor' ).Value := dm.tbforn.FieldValues['CodFor'];
  ParamByName( 'tipo' ).Value := 'P';
  OPEN;
  end;
  if lcbFornecedor.Text <> '' then
  rgFaseCompra.SetFocus;
  end;

  Quando rodo o programa não passa da linha //***********
  apresentando o EDatabaseError : Parameter 'idfor' not found
  Funcionava com o BDE, mudei para MySQL e não encontra mais os
  parâmetros. Se trocar " :idfor " e " :tipo " por " @idfor " e " @tipo
  " passa pelas linhas, mas para na ParamByName() com o mesmo erro.
  Também troquei ParamByName('idfor') por FieldByName('CliFor') aí
  aparece o erro "tbtit: Campo CliFor não encontrado", mas ele está na
  tabela tbtit.
  Alguém sabe porque? Por favor, preciso de uma luz.

  Biasetti



   

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

Responder a