Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Trovao_SP

Update no SQL Server !

Recommended Posts

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Olá,

 

Não estou conseguindo comitar a transação no banco das informações dadas no update, exemplo do código abaixo :

If ADOConnection1.InTransaction then ADOConnection1.RollbackTrans;

ADOConnection1.BeginTrans;

With ADOQuery1 do

begin

While not RxPrincipal.eof do

begin

If RxPrincipal.FieldByName('EXECUTA').AsString = 'S' then

begin

Close;

SQL.Clear;

SQL.Add('UPDATE dim_ctr_parametro ');

SQL.Add('SET ');

SQL.Add(' PARAMETRO = :PARAMETRO, ');

SQL.Add('WHERE ');

SQL.Add(' TABELA = :TABELA ');

 

Parameters.ParamByName('TABELA').Name := RxPrincipal.FieldByName('TABELA').AsString;

Parameters.ParamByName('PARAMETRO').Name := RxPrincipal.FieldByName'PARAMETRO').AsString;

Try

ExecSQL;

Except

ADOConnection1.RollbackTrans;

ShowMessage('Problemas na atualização! Processo abortado.');

RxPrincipal.EmptyTable;

RxPrincipal.Close;

RxPrincipal.Open;

Button1.Enabled := false;

Analisar.SetFocus;

Close;

Exit;

End;

end;

RxPrincipal.Next;

end;

ADOConnection1.CommitTrans;

 

Quando faço a consulta, o valor passado não altera, mantendo o valor anterior.

Alguém pode me ajudar ?

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, eu uso o sql server, mas não com ADO, muda um pouco a forma de trabalhar, mas tenta fazer o seguinte....

 

muda o

Parameters.ParamByName('PARAMETRO').Name por Parameters.ParamByName('PARAMETRO').Value

 

(tenho quase certeza que eh isso)

 

se não funcionar, tenta rodar o Profiler pra você ver oq esta acontecendo no banco, se o update que ele ta passando tah certo, beleza?

 

qualquer coisa posta de novo ae.. []'s

espero que ajude

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu camarada, era isso mesmo !

bom, eu uso o sql server, mas não com ADO, muda um pouco a forma de trabalhar, mas tenta fazer o seguinte....

 

muda o

Parameters.ParamByName('PARAMETRO').Name por Parameters.ParamByName('PARAMETRO').Value

 

(tenho quase certeza que eh isso)

 

se não funcionar, tenta rodar o Profiler pra você ver oq esta acontecendo no banco, se o update que ele ta passando tah certo, beleza?

 

qualquer coisa posta de novo ae.. []'s

espero que ajude

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.