Firebird - Só acontece no Delphi, isso é verdade?
Encontrei um artigo novo no site da Firebase que diz:
´Praticamente todos os programadores já devem ter passado pela situação onde muitos usuários (em rede) estão acessando, em um mesmo momento, as informações de uma mesma tabela, inserindo ou alterando os registros. O problema é que a maioria dos componentes de acesso a dados do Delphi “bufferiza” as informações na memória, o que é bom para a performance, mas impede que as alterações feitas pelos outros usuários sejam refletidas automaticamente, fazendo com que cada usuário tenha que atualizar os dados exibidos através de um refresh (geralmente clicando no respectivo botão no DBNavigator), quando quiser ter certeza de que as informações apresentadas na tela são as mais atuais.´
...e só acontece no Delphi, por quê? :roll:
´Praticamente todos os programadores já devem ter passado pela situação onde muitos usuários (em rede) estão acessando, em um mesmo momento, as informações de uma mesma tabela, inserindo ou alterando os registros. O problema é que a maioria dos componentes de acesso a dados do Delphi “bufferiza” as informações na memória, o que é bom para a performance, mas impede que as alterações feitas pelos outros usuários sejam refletidas automaticamente, fazendo com que cada usuário tenha que atualizar os dados exibidos através de um refresh (geralmente clicando no respectivo botão no DBNavigator), quando quiser ter certeza de que as informações apresentadas na tela são as mais atuais.´
...e só acontece no Delphi, por quê? :roll:
Onjahyr
Curtidas 0
Respostas
Onjahyr
01/02/2008
:lol: Poxa, é, parece que é verdade mesmo, o artigo foi feito pelo próprio CARLOS CANTU. Depois que postei que notei, e ainda diz mais:
´A aplicação apresentada utiliza os componentes do IBO (InterBase Objects – www.firebase.com.br/fb/IBO.php) para acesso aos dados. Outros componentes, como o IBX, UIB, etc. também oferecem componentes específicos para trabalhar com os eventos do Firebird. Infelizmente a Borland/CodeGear não disponibiliza um componente para eventos no seu driver dbExpress. Usuários do dbExpress acabam tendo que criar uma conexão secundária com o banco, usando outro componente de acesso que permita manipulação de eventos, a fim de receber as notificações enviadas pelo Firebird.´
Blz.
´A aplicação apresentada utiliza os componentes do IBO (InterBase Objects – www.firebase.com.br/fb/IBO.php) para acesso aos dados. Outros componentes, como o IBX, UIB, etc. também oferecem componentes específicos para trabalhar com os eventos do Firebird. Infelizmente a Borland/CodeGear não disponibiliza um componente para eventos no seu driver dbExpress. Usuários do dbExpress acabam tendo que criar uma conexão secundária com o banco, usando outro componente de acesso que permita manipulação de eventos, a fim de receber as notificações enviadas pelo Firebird.´
Blz.
GOSTEI 0
Catunda
01/02/2008
amigo... Ao meu ver, toda linguagem de programação trabalha dessa forma, guardando os dados em buffer, e todas elas tem um ou outro comando ou função que trabalha diretamente no banco de dados. Lembro ainda do saudoso clipper, que tb usava buffer, tanto que davamos o comando commit para gravar fisicamente, mas se vc utiliza-se a função browser() digitava diretamente dentro do banco, era uma atualização automatica. Mas essas práticas não são muito recomendadas.
Eu utilizo o firebird e sempre ponho no evento afterpost o comando applyupdates() fazendo com que quem acessar esse registro já verá a alteração. Ele salva fisicamente no banco de dados logo após o post sem necessidade de botão pra refresh.
Eu utilizo o firebird e sempre ponho no evento afterpost o comando applyupdates() fazendo com que quem acessar esse registro já verá a alteração. Ele salva fisicamente no banco de dados logo após o post sem necessidade de botão pra refresh.
GOSTEI 0
Horus
01/02/2008
Prezado, Catunda.
Gostaria que se fosse possível você postasse mais detalhes do código que você usa para agilizar esse processo. Como você pôde notar vários colegas, inclusive eu temos a mesma dificuldade.
Desculpe a minha inexperiência.
Por favor, colabore com a gente.
Grato.
Gostaria que se fosse possível você postasse mais detalhes do código que você usa para agilizar esse processo. Como você pôde notar vários colegas, inclusive eu temos a mesma dificuldade.
Desculpe a minha inexperiência.
Por favor, colabore com a gente.
Grato.
GOSTEI 0