Fórum UpDate com DBExpress no Oracle #370761
26/05/2009
0
Estou com problemas para realizar manutenções em tabelas do oracle 9i utilizando os componentes do DBExpress SQLConnection e SQLQuery. a conexão já esta estabelecida com o SQLConnection e com SQLQuery consigo realizar consultas. O Que não está sendo possivel fazer é um update. não sei se estou fazendo da maneira correta por isso ai vai o código logo abaixo:
> O Erro é que ao executar esta SQL uma mensagem ORA-00933: Comando SQL não encerrado adequadamente.
> Solicito ajuda de quem puder opinar sobre o assunto.
======================================================================================================================================
procedure TFormControle.BAtualizarClick(Sender: TObject);
var
situacao : string;
begin
inherited;
if StrToInt(EdtSaldoEstoque.Text) = 0 then begin
situacao:= ´D´;
//Será implementado outros tratamentos aqui
end else begin
situacao:= ´O´;
//Será implementado outros tratamentos aqui
end;
with SQLQuery do begin
Close;
SQL.Clear;
SQL.Add(´UPDATE DEPOSIT_EMPRESA_END_179´);
SQL.Add(´SET saldo_estoq_179= ´+EdtSaldoEstoque.Text+´, status_179= ´+QuotedStr(situacao));
SQL.Add(´WHERE´);
SQL.Add(´ EMPRESA_PF_179= ´ + EdtCodEmpresa.Text+ ´ AND´);
SQL.Add(´ PORTA_PALLET_PK_179= ´ + EdtEndereco.Text + ´ AND´);
SQL.Add(´ MERC_FK_179=´ + EdtMercadoria.Text );
SQL.Add(´commit work´);
ExecSQL(True);
open;
end;
end;
====================================================================================================================================
Huggoallex
Curtir tópico
+ 0Posts
26/05/2009
Woinch
SQL.Add(´commit work´);
Esse componente foi feito para ser utilizada uma instrução por vez.
Espero ter ajudado.
Gostei + 0
26/05/2009
Woinch
O comando ExecSQL serve para mandar instruções diretas para o banco (como você fez), caso você queira abrir um resultado na tela (exemplo, um resultado de um select) utilize o Open.
Gostei + 0
26/05/2009
Huggoallex
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)