Trovao_SP 0 Denunciar post Postado Março 24, 2006 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
lenn0n 0 Denunciar post Postado Março 24, 2006 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
Trovao_SP 0 Denunciar post Postado Março 24, 2006 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