Jump to content

luizdspinola

Members
  • Posts

    7
  • Joined

  • Last visited

Posts posted by luizdspinola

  1. Hello everybody.
    
    I'm having a hard time developing a database insert.
    
    I have a custom auto inc field that is managed by the application, I use try/except combined with EDatabaseError to handle error if duplicate insertion attempt happens but execution interrupts without going through except
    
    See the code:

     

    procedure insere_dados(NUMERO: INTEGER):

    begin

      try

         TABELA.FieldByName('INC').AsString:= NUMERO;                   //CHAVE PRIMARIA

          TABELA.FieldByName('DATA').AsString:= DateToStr(now);
          TABELA.FieldByName('USUARIO').AsString:= ID_Usuario;
          TABELA.Post;
          TABELA.ApplyUpdates;                                                          //ATUALIZA BASE DE DADOS
          MessageDlg('Informações inseridas com sucesso.', mtInformation, [mbOK]);
      except
        on eDataBaseError  do                            //or EFDDBEngineException
        begin
          TABELA.Cancel;
          TABELA.CancelUpdates;         //CANCELA ATUALIZACAO
          NUMERO:= NUMERO+1;         //INCREMENTA NUMERO
          insere(NUMERO);                    //CHAMA A PROC NOVAMENTE
        end;        

    end;

  2. Olá a todos.

    Estou com uma dificuldade ao desenvolver uma inserção no banco de dados.

    Tenho um campo auto inc personalizado que é gerenciado pela aplicação, utiliso try/except combinado com EDatabaseError para administrar erro caso aconteça tentativa de inserção duplicada mas a execução interrompe sem passar pelo except

    Vejam o codigo abaixo:

    procedure insere_dados(NUMERO: INTEGER):

    begin

      try

         TABELA.FieldByName('INC').AsString:= NUMERO;                   //CHAVE PRIMARIA

          TABELA.FieldByName('DATA').AsString:= DateToStr(now);
          TABELA.FieldByName('USUARIO').AsString:= ID_Usuario;
          TABELA.Post;
          TABELA.ApplyUpdates;                                                          //ATUALIZA BASE DE DADOS
          MessageDlg('Informações inseridas com sucesso.', mtInformation, [mbOK]);
      except
        on E: Exception do
        begin
          TABELA.Cancel;
          TABELA.CancelUpdates;         //CANCELA ATUALIZACAO
          NUMERO:= NUMERO+1;         //INCREMENTA NUMERO
          insere(NUMERO);                    //CHAMA A PROC NOVAMENTE
        end;        

    end;

  3. Estou com umprojeto unigui e ultimamente começões a trava a página e fecha a placação.

     

    No log grava a mensagem abaixo:

    [TUniGUIServerModule.HandleException]:EAccessViolation : Access violation at address 00A802EB in module 'WebSete.exe'. Read of address 00000000 : Addr: $00A802EB

     

    Alguem pode me ajudar

  4. Ola pessoal.

     

    Estou trabalhando com unigui a pouco tempo, desenvolvendo aplicação para controle de estoque.

    O aplicativo começou a encerrar sozinho, sem mensagem de erro, sem registro de log, e isso não acontece no pc de desenvolvimento, somente no PC do cliente.

     

    alguem já passou por essa situação?

     

×
×
  • Create New...