Aonde estou errando , nessa rotina ?
procedure TForm_operacao.EditOBSpgtoExit(Sender: TObject);
begin
with Dm Do
Begin
Dm.IBQentrada.Close;
Dm.IBQentrada.SQL.Clear;
Dm.IBQentrada.SQL.Add(´update ENTRADA set DTA=:DTA,NOM=:NOM,ENDE=:ENDE,CPTO=:CPTO,:FONE=:FONE,QTDE=:QTDE,SERV=:SERV,DETA=:DETA,DESCR=:DESCR,VL=:VL,DTAPRO=:DTAPRO,HRS=:HRS,DIRPRO=:DIRPRO,VLSINAL=:VLSINAL,VLSALDO=:VLSALDO,BANCO=:BANCO,NUMERO=:NUMERO,OBS=:OBS,TIPO=:TIPO´);
Dm.IBQentrada.SQL.Add(´where OS=:OS´);
if application.MessageBox(´Deseja confirmar a alteração´,´Atenção´,mb_yesno+mb_iconwarning)=mryes then
Begin
Dm.IBQentrada.ParamByName(´OS´).AsString:=EditOScaixa.Text;
Dm.IBQentrada.ParamByName(´DTA´).AsString:=editdatacaixa.Text;
Dm.IBQentrada.ParamByName(´VLSINAL´).AsString:=editvlsinal.Text;
Dm.IBQentrada.ParamByName(´VLSALDO´).AsString:=Editvlsaldo.Text;
Dm.IBQentrada.ParamByName(´BANCO´).AsString:=Editbanco.Text;
Dm.IBQentrada.ParamByName(´NUMERO´).AsString:=EditNumbanco.Text;
Dm.IBQentrada.ParamByName(´OBS´).AsString:=EditOBSpgto.Text;
Dm.IBQentrada.ExecSQL;
Dm.IBQentrada.Close;
Dm.IBTransaction2.Commit;
Dm.IBQentrada.SQL.Clear;
Dm.IBQentrada.SQL.Add(´SELECT * FROM ENTRADA ORDER BY OS´);
Dm.IBQentrada.Open;
end
else
Dm.IBQentrada.Close;
Dm.IBQentrada.SQL.Clear;
Dm.IBQentrada.SQL.Add(´Select * From ENTRADA Order By OS´);
Dm.IBQentrada.Open;
LimpaOperacao;
end;
end;
Da esse erro : Projeto.exe raised exception class EIBInterBaseError
with message Dynamic sql error , SQL error -140
Token Unknown line 1 char 45 ?
Obrigado ..
begin
with Dm Do
Begin
Dm.IBQentrada.Close;
Dm.IBQentrada.SQL.Clear;
Dm.IBQentrada.SQL.Add(´update ENTRADA set DTA=:DTA,NOM=:NOM,ENDE=:ENDE,CPTO=:CPTO,:FONE=:FONE,QTDE=:QTDE,SERV=:SERV,DETA=:DETA,DESCR=:DESCR,VL=:VL,DTAPRO=:DTAPRO,HRS=:HRS,DIRPRO=:DIRPRO,VLSINAL=:VLSINAL,VLSALDO=:VLSALDO,BANCO=:BANCO,NUMERO=:NUMERO,OBS=:OBS,TIPO=:TIPO´);
Dm.IBQentrada.SQL.Add(´where OS=:OS´);
if application.MessageBox(´Deseja confirmar a alteração´,´Atenção´,mb_yesno+mb_iconwarning)=mryes then
Begin
Dm.IBQentrada.ParamByName(´OS´).AsString:=EditOScaixa.Text;
Dm.IBQentrada.ParamByName(´DTA´).AsString:=editdatacaixa.Text;
Dm.IBQentrada.ParamByName(´VLSINAL´).AsString:=editvlsinal.Text;
Dm.IBQentrada.ParamByName(´VLSALDO´).AsString:=Editvlsaldo.Text;
Dm.IBQentrada.ParamByName(´BANCO´).AsString:=Editbanco.Text;
Dm.IBQentrada.ParamByName(´NUMERO´).AsString:=EditNumbanco.Text;
Dm.IBQentrada.ParamByName(´OBS´).AsString:=EditOBSpgto.Text;
Dm.IBQentrada.ExecSQL;
Dm.IBQentrada.Close;
Dm.IBTransaction2.Commit;
Dm.IBQentrada.SQL.Clear;
Dm.IBQentrada.SQL.Add(´SELECT * FROM ENTRADA ORDER BY OS´);
Dm.IBQentrada.Open;
end
else
Dm.IBQentrada.Close;
Dm.IBQentrada.SQL.Clear;
Dm.IBQentrada.SQL.Add(´Select * From ENTRADA Order By OS´);
Dm.IBQentrada.Open;
LimpaOperacao;
end;
end;
Da esse erro : Projeto.exe raised exception class EIBInterBaseError
with message Dynamic sql error , SQL error -140
Token Unknown line 1 char 45 ?
Obrigado ..
C-t
Curtidas 0
Respostas
Anonymous
14/03/2003
tenta colocar um espaço antes do where, como mostro abaixo:
Dm.IBQentrada.SQL.Add(´ where OS=:OS´);
Dm.IBQentrada.SQL.Add(´ where OS=:OS´);
GOSTEI 0
C-t
14/03/2003
Continua a mesma coisa .. obrigado
GOSTEI 0
Anonymous
14/03/2003
Olha o que está escrito :
:FONE=:FONE
Basta tirar os dois pontos do primeiro FONE
:FONE=:FONE
Basta tirar os dois pontos do primeiro FONE
GOSTEI 0
C-t
14/03/2003
CARA VALEU .. NOSSA FIQUEI A TARDE QUASE TODA .. QUERENDO SABER ISSO É NÃO ESTAVA VENDO ESSE ERRO .. ACHO QUE PRECISO TROCAR O GRAU DO MEU OCULOS ;;HEHEE
OBRIGADO ...
OBRIGADO ...
GOSTEI 0