• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

CyberBird

[VB .Net 2005][MSSQL 2005] Actualizar Modificações da Base De Dados.

4 mensagens neste tópico

Bem eu não sabaia em que secção ia postar, pois a minha duvida é mais uma duvida de algoritmia do k outra coisa.

A minha duvida é o seguinte :

Um PCA modifica/acrescenta dados na base de dados, como e k o resto dos PCs iriam ter as informações actualizadas,informações essas k o PCA modificou/acrescentou?

Até agr cheguei a duas conclusões pra resolver o problema

1ª Fazer o refill dos datasets cada vez k abro um form. Tou a fazer um programa de gestão de uma empresa ( projecto de estágio ), tenho um MDIParent e cada k fosse invocar um child form fazia um refill da dataset k o form fosse usar, do tipo : Abro a form tabela de clientes i fazia o refill da DataTable de clientes.

2ª Usar um timer k de x em x tempo faça o refill de todas as datasets.

O problema de usar o timer é k pode facilente interromper alguma operação com as datasets exemplo : Filtrar informação no datagridview, fazer updates, distorcer a informação k o utilizador esta a ver na datagridview pk o datagridview é redesenhado.

O problema de usar Refill ao abrir os forms é se o utilizador deixar o form aberto, o dataset não é actualizado.

Gostava de ver as vossas susgestões, de como voces fariam.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Normalmente o que se faz é uma coisa muito simples: se se efectua uma pesquisa, os dados são listados tal como estão na altura, havendo apenas uma actualização caso o utilizador volte a efectuar a pesquisa ou explicitamente peça um refresh.

Para a edição de dados a solução é idêntica: abre-se o formulário com os dados disponíveis no momento, caso haja alterações, elas não são passadas para o utilizador e este deve ser notificado e impedido de actualizar os dados, uma vez que os dados com que estava a trabalhar não eram os mais actuais.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ou seja a cada a edição de dados o Servidor/Base de Dados enviaria uma uma "notificação" pra todos os clientes k os dados foram moficiados, desta forma o programa iria fazer uma refill aos datasets ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ou seja a cada a edição de dados o Servidor/Base de Dados enviaria uma uma "notificação" pra todos os clientes k os dados foram moficiados, desta forma o programa iria fazer uma refill aos datasets ?

Sim e Não.

Sim: teoricamente isso funciona, só que na prática, tanto quanto sei, não tens como notificar os clientes a partir da BD. Podes é estar sempre a inquiri a bd mas isso é mau pois vais estar a fazer uma sobrecarga de rede e do servidor.

Não: creio que não percebeste o que disse. O que eu disse é que o que queres fazer não é a técnica que se usa normalmente. Normalmente (e quando digo normalmente refiro-me a mais de 95% dos casos) permitem-se dirty-reads e só se impedem as escritas quando um registo já foi actualizado entretanto.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora