Como gravar varios dados de uma só vez no banco?

Delphi

12/01/2009

Estou tentando gravar num dbgrid todos checbox com a letra T, ai quando executo este codigo grava.
if Application.MessageBox(´Deseja marcar todos?´,´Aviso´,36) = idyes then
  begin
    try
      with ibEmpresas do
      begin
        DisableControls; //desativa os controles para melhorar a performance da soma
        Open;
        First; //começo da tabela
        while not Eof do //enquanto não for o fim
        begin
          Edit;
          ibEmpresas.FieldByName(´marcarbox´).AsString := ´T´;  //faz a soma total da tabela
          //ibEmpresasCDEMPRESA.Value := StrToInt(frmPrincipal.StatusBar1.Panels[1].Text);
          //Delete;
          Post;
          Next; //proximo
        end;
        EnableControls; //quando terminar ativa os controles novamente.
      end;
      if not dm.Transaction.InTransaction then
         dm.Transaction.StartTransaction;
         dm.Transaction.CommitRetaining;
         {Atualiza o CDS para deixar a dbgrid atualizada}
         DBGrid2.Refresh;
         //ibEmpresas.Close;
         //ibEmpresas.Open;
    except
      on E:Exception do
      begin
        if not dm.Transaction.InTransaction then
           dm.Transaction.StartTransaction;
           dm.Transaction.RollbackRetaining;
           MessageDlg(´Ocorreu um erro neste processo. ´ +#1313 +´Erro gerado: ´+13+
             E.Message + 1313 + ´Todo o processo foi abortado!´, mtError, [mbOk],0);
           Abort;
      end;
    end; //Final try/except
  end;


Mais é só eu sair do form e voltar de novo, não tem nada gravado, é como se eu não apliquei o applyupdates no codigo.

Uso FB e componentes IBX


Adriano_servitec

Adriano_servitec

Curtidas 0
POSTAR