José,
Não sou um expert em RDBMS mas ai vai...
Vc deve procurar evitar o uso de botões anterior/proximo por alguns motivos.
1) Quando vc trabalha com um RDBMS, este tem que processar todos os dados solicitados por N estações e isto sobrecarrega o servidor quando vc pode ter varios usuários solicitando proximo/anterior simulataneamente, o RDBMS deve dar conta do recado, mas convenhamos que é facil p/ o usuário clicar 10X proximo ou anterior e o servidor tera de fazer 10 pesquisas, multimplique por N usuários fazendo o mesmo e vc tera uma queda da performance do servidor só pq. usa esta forma p/ obter o registro desejado.
Se o usuário tiver de informar o que ele deseja, o servidor ira fazer esta pesquisa 1 unica vez, ou no pior dos casos 2 vezes, se tiver que exibir uma tela intermediaria de filtro onde o usuário escolhe entre varias opções da 1° pesquisa.
Agora multiplique isto pelo numero de usuários fazendo consultas simultaneamente, vc ira desobrir que o Servidor ira apresentar um desempenho bem melhor, sobrando mais capacidade p/ executar outras tarefas basicas como Inclusão / Exclusão / Alteração.
2) Nem todas as consultas são SELECT's simples sobre uma unica tabela, alguns podem e são bem complexos necessitando de varios JOINs, varias clausulas WHERE, ORDER BY, etc... que consome mais tempo de processamento. Imagine cada usuário precionar 10x o botão proximo, muitos podem ter de esperar p/ obter o retorno desejado.
3) O uso destes "Botões" aumenta o trafego da rede.
4) Conectar ao um RDBMS tem alguns custos:
a) dependendo do RDBMS, cada conexão pode custar entre 40KB a 80KB por conexão ao servidor, o SQL Server necessita de aprox. 54KB, multiplique por cada conexão.
b) Tempo extra gasto para fazer cada conexão alem da execução solicitada.
c) Custo extra do servidor em conectar/desconectar (alguns RDBMS tem uma especie de cache p/ otimizar isto, mas o custo extra existe)
Em alguns aplicativos pode ser necessário desconectar, mas vc deve estudar bem cada caso antes de decidir o meio que vai usar.
Não importa o numero de usuários conectados, mas a quantidade de tarefas que os usuários passam ao servidor p/ ser executada e o tempo que cada tarefa leva, pois isto tem um custo muito maior que conectar/desconectar.
Se vc deseja usar botões vc pode, mas pode até acabar "matando" o seu aplicativo C/S de tão lento pela sobrecarga, mas isto depende de n° de usuários, largura de banda da rede, processador, memoria, etc..., só não recomendo... mas a escolha é sua.
Programar com RDBMS é diferente de programar com tabelas nativas do VFP, existem mudanças de conceitos e para melhor na minha opinião.
[], s
Peter
>Olá amigos,
>
>qual o problema em se ter um form, baseado em SQL com os botões de anterior/próximo, e a cada click em um deles se fazer os passos abaixo:
>
>1) conexão com o banco
>2) execução da string sql
>3) desconexão com o banco
>4) atualização dos campos
>
>se eu estou fazendo a conexão, a seleção e desconectando, não teria então vários usuários conectados ao mesmo tempo.
>
>.....
Précédent
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement