Erro consulta com DBLookup

Delphi

29/03/2009

Olá pessoal to usando a seguinte função para gerar uma lista de exames executado por medicos as mesma função funciona para lista de exames por convenio mas po medico esta um erro e to doido mas não consigo saber qual o erro...

A função é esta:

var
  CodMed : String;
Begin
  DM1.Medic.Locate(´MED_MEDICO´, DBPesquisa2.Text , []);
  CodMed := DM1.MedicMED_CODMEDICO.Value;
  With DM1.IBQuery1 Do
  Begin
    Close;
    SQL.Clear;
    SQL.Add( ´select C_EXAME, NOME, count(C_EXAME), VALOR´ );
    SQL.Add( ´from PACEXA´ );
    SQL.Add( ´Where  DATA >= :DAT1 and DATA <= :DAT2 ´);
    If DBPesquisa2.Text <> ´´ Then
    Begin
      SQL.Add( ´ and MED_CODMEDICO = :COD ´ );
      Params[02].AsString := CodMed;
    End;
    SQL.Add( ´Group by C_EXAME, NOME, VALOR´ );
    Params[00].AsDate   := DateEdit1.Date;
    Params[01].AsDate   := DateEdit2.Date;
    Open;
    RxCalcEdit1.Clear;
    While not Dm1.IBQuery1.Eof do begin
    RxCalcEdit1.Value := RxCalcEdit1.Value + DM1.IBQuery1Total.Value;
    Dm1.IBQuery1.Next;
    end;
    If IsEmpty Then
    Begin
      MessageDlg(´Não há dados com as informações solicitadas!´,
                  MtInformation,[MbOk],0);
      Exit;
    End;
  End;


quando eu efetuar a pesquiza clicando no botão esta dando o seguinte errro:

DYNAMIC SQL ERRO
SQL ERROR CODE = 206
COLUMN UNKNOWN
MED_CODMEDICO
AT LINE 4, COLUMN 6

ja revirei o sistema todo e não sei oq esta errado...


Tchucky

Tchucky

Curtidas 0

Respostas

Rudá

Rudá

29/03/2009

A mensagem que está dando parece que é do sql (coluna desconhecida).

Tem certeza que o campo MED_CODMEDICO existe na tabela PACEXA?

Se for banco tipo SQL Server, Oracle veja a possibilidade ser ser case sensitive. outra coisa poderia ser é que você está setando como AsString o certo não seria AsInteger. Possa ser que o o componente esteja mudando o tipo do campo para string.
Tente colocar
Params[2].DataType:= ftInteger;
Params[2].ParamType:= ptInputOutput;

E veja se resolve.


GOSTEI 0
POSTAR