[firebase-br] Problema com commit

Luiz Henrique Severo d Oliveira lhsevero em rpgsolucoes.com.br
Seg Fev 21 12:11:19 -03 2005


Pessoal,

Delphi 7 + MDO 0.8.8

Tenho uma tela com alguns LabeledEdits e um MDODataset. Nela estou executando um update conforme o trecho de código abaixo:

---------------------------------------------
DataModulePendencias.MDOTransactionRW.StartTransaction;

try
  LbBlowfish1.GenerateKey(CHAVE_CRYPT);

  MDODataSet1.QModify.Params.ByName('NOME_USUARIO').AsString := LabeledEditNomeUsuario.Text;
  MDODataSet1.QModify.Params.ByName('SENHA_USUARIO').AsString := LbBlowfish1.EncryptString(LabeledEditSenhaUsuario.Text);

  if RadioGroupTipoUsuario.ItemIndex = 0 then
    MDODataSet1.QModify.Params.ByName('TIPO_USUARIO').AsString := 'I'
  else
    MDODataSet1.QModify.Params.ByName('TIPO_USUARIO').AsString := 'T';

  MDODataSet1.QModify.Params.ByName('OLD_CHAVE_USUARIO').AsString := LabeledEditChaveUsuario.Text;

  MDODataSet1.QModify.ExecQuery;

  DataModulePendencias.MDOTransactionRW.Commit;

  Application.MessageBox('Usuário alterado.',TITULO_MSG, MB_OK + MB_ICONINFORMATION);
except
on e:exception do
  begin
    DataModulePendencias.MDOTransactionRW.Rollback;

    Application.MessageBox(PChar('Ocorreu um erro alterando o Usuário.' + #13 + e.Message),TITULO_MSG,MB_OK + MB_ICONERROR);
end;
---------------------------------------------

Meu problema é que o commit não funciona. Se logo após a execução do update eu trago o registro de volta para a tela, as alterações não aparecem, como se não tivessem sido confirmadas.
Mas se saio do programa, carrego ele novamente e volto a tela, as alterações estão feitas.

O que pode estar acontecendo?


Obrigado
Luiz Henrique Severo d Oliveira
RPG Soluçoes
www.rpgsolucoes.com.br

-------------- Próxima Parte ----------

Pessoal,

Delphi 7 + MDO 0.8.8

Tenho uma tela com alguns LabeledEdits e um MDODataset. Nela estou executando um update conforme o trecho de código abaixo:

---------------------------------------------
DataModulePendencias.MDOTransactionRW.StartTransaction;

try
  LbBlowfish1.GenerateKey(CHAVE_CRYPT);

  MDODataSet1.QModify.Params.ByName('NOME_USUARIO').AsString := LabeledEditNomeUsuario.Text;
  MDODataSet1.QModify.Params.ByName('SENHA_USUARIO').AsString := LbBlowfish1.EncryptString(LabeledEditSenhaUsuario.Text);

  if RadioGroupTipoUsuario.ItemIndex = 0 then
    MDODataSet1.QModify.Params.ByName('TIPO_USUARIO').AsString := 'I'
  else
    MDODataSet1.QModify.Params.ByName('TIPO_USUARIO').AsString := 'T';

  MDODataSet1.QModify.Params.ByName('OLD_CHAVE_USUARIO').AsString := LabeledEditChaveUsuario.Text;

  MDODataSet1.QModify.ExecQuery;

  DataModulePendencias.MDOTransactionRW.Commit;

  Application.MessageBox('Usuário alterado.',TITULO_MSG, MB_OK + MB_ICONINFORMATION);
except
on e:exception do
  begin
    DataModulePendencias.MDOTransactionRW.Rollback;

    Application.MessageBox(PChar('Ocorreu um erro alterando o Usuário.' + #13 + e.Message),TITULO_MSG,MB_OK + MB_ICONERROR);
end;
---------------------------------------------

Meu problema é que o commit não funciona. Se logo após a execução do update eu trago o registro de volta para a tela, as alterações não aparecem, como se não tivessem sido confirmadas.
Mas se saio do programa, carrego ele novamente e volto a tela, as alterações estão feitas.

O que pode estar acontecendo?


Obrigado
Luiz Henrique Severo d Oliveira
RPG Soluçoes
www.rpgsolucoes.com.br





Mais detalhes sobre a lista de discussão lista