Escolar Documentos
Profissional Documentos
Cultura Documentos
No evento SQL Connect 2007 (www.sqlconnect.com.br), ministrei uma palestra sobre o poder do
PSQL no Firebird. PSQL é a abreviação de Procedural SQL, ou seja, a linguagem de stored
procedures e triggers do Firebird. Um dos exemplos apresentados mostrava a simulação de auto-
refresh em aplicações feitas em Delphi acessando bancos Firebird. O exemplo foi criado
originalmente para a primeira edição do FDD (Firebird Developers Day). Em 2005, foi
melhorado e complementado, para ser apresentado na Conferência Internacional de Firebird,
realizada em Praga. O exemplo mostrado no SQL Connect é justamente o que foi utilizado em
Praga.
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.
O exemplo apresentado faz uso dos EVENTOS do Firebird para “avisar” as aplicações que alguém
mudou (alterou, inseriu ou apagou) alguma informação de uma determinada tabela. A aplicação
Delphi captura esse evento, ou seja, é “avisada” sobre a alteração, e através de rotinas especificas
verifica se deve ou não atualizar (refresh) as informações que estão sendo apresentadas na tela
do usuário, para que ele possa ver as mudanças feitas pelos outros.
Divirtam-se!
Carlos H. Cantu
www.firebase.com.br