raised exception...

Delphi

12/03/2004

PROJECT FINANCIAL.EXE RAISED EXCEPTION CLASS EDATABASEERROR WITH MESSAGE
´QRYATUALIZA: TYPE MISMATCH FOR FIELD ´CGC_CPF_CEDENTE´, EXPECTING: STRING
ACTUAL: CURRENCY´ . PROCESS STOPPED....

NA MINHA TBL O CAMPO CGC_CPF_CEDENTE ESTA DEFINIDO COMO STRING! PORQUE
ELE FICA DIZENDO QUE ELE ESTÁ COMO CURRENCY?
COMO POSSO CORRIGIR ISSO?
A PROCEDURE QUE ESTOU USANDO ESTÁ LOGO ABAIXO. OBRIGADO POR QUALQUER DICA!

procedure TFrmBaixaDoc.SpeedButton1Click(Sender: TObject);
var
Saldo, Limite : Double;
begin
Limite := 0;
Saldo := 0;

With DMFactoring.QryAtualiza Do
DMFactoring.QryAtualiza.Active := False;
DMFactoring.QryAtualiza.SQL.Clear;
DMFactoring.QryAtualiza.SQL.Add(´SELECT Cedente.COD_CEDENTE, Cedente.CGC_CPF, Cedente.CREDITO_EM_USO, Cedente.SALDO, Cedente.RAZAO_SOCIAL, Cedente.LIMITE_CRED, Sacado_cedente.BAIXADO, Sacado_cedente.VALOR ´);
DMFactoring.QryAtualiza.SQL.Add(´Sacado_cedente.CGC_CPF_CEDENTE, Sacado_cedente.COD_SACADO ´);
DMFactoring.QryAtualiza.SQL.Add(´FROM ´CEDENTE.db´ Cedente ´);
DMFactoring.QryAtualiza.SQL.Add(´INNER JOIN ´SACADO_CEDENTE.DB´ Sacado_cedente ´);
DMFactoring.QryAtualiza.SQL.Add(´ON (Cedente.CGC_CPF = Sacado_cedente.CGC_CPF_CEDENTE)´);
DMFactoring.QryAtualiza.Active := True;
While Not (DMFactoring.QryAtualiza.Eof) And (DMFactoring.QryAtualizaBAIXADO.AsString = ´S´) Do
Begin
Saldo := Saldo + DMFactoring.QryAtualiza.FieldByName(´LIMITE_CRED´).Value;
DMFactoring.TblCedente.Edit;
DMFactoring.tblCedenteSALDO.Value := Saldo;
DMFactoring.QryAtualiza.ExecSQL;
DMFactoring.TblCedente.Refresh;
DMFactoring.QryAtualiza.Next;
End;

end;


Alexandretavares

Alexandretavares

Curtidas 0

Respostas

Rômulo Barros

Rômulo Barros

12/03/2004

Acredito que o erro está na linha abaixo:

[color=red:e1e1f827ea]DMFactoring.QryAtualiza.SQL.Add(´ON (Cedente.CGC_CPF = Sacado_cedente.CGC_CPF_CEDENTE)´); [/color:e1e1f827ea]

Comparação entre tipos de dados distintos : Currency e String

:twisted: :twisted: :twisted: :twisted:


GOSTEI 0
POSTAR