MIGRACAO DAO PARA ADO

USUARIO.EXCLUIDOS 30/03/2005 14:14:06
#75786
À respeito de Migração de DAO para ADO e gostaria de esclarecer algumas dúvidas.

São elas:
Estou utilizando o próprio objeto Connection para inserir e atualizar registros no meu banco de dados Access e sempre que abro um recordset, após efetuar a operação desejado sempre fecho o mesmo.
Minha pergunta é: o meu sistema usa apenas um objeto Connection que abre a conexão com o banco de dados, esta abertura de conexão é feita no evento load do form MDI, gostaria de saber quando devo fechar esta conexão. Seria ao finalizar a minha aplicação?
USUARIO.EXCLUIDOS 30/03/2005 14:16:32
#75788
Se sua aplicação já estiver dessa forma, sim.
Mas creio que seria melhor manter a conexão sempre fechada e só abrir quando necessário.
LCSD 30/03/2005 14:42:23
#75799
Resposta escolhida
Reforçando o colega CERBERO disse, vou passar a minha visão:

Eu aconselho VC a deixar sempre a sua conecção fechada, e só abrir quando for REALMENTE utilizá-la, como em um SELECT/INSERTDELETE/UPDATE. Pois o seu sistema ficará bem mais confiável. Imagine a seguinte situação:

VC mantém a sua base de dados sempre aberta, então VC terá que ficar fazendo uma porrada de tratamento para saber se a Tabela X está aberta ou não, e se poderá ou não fazer alguma alteração nela (se não existe nenhum outro usuário fazendo um UPDATE nesta tabela). E vamos supor que, com a base de dados sempre aberta, derrepente, a máquina dá um daqueles "pau de windows" e trava a máquina exatamente na hora que o sistema estava aberto. Se a sua base de dados (principalmente se for em ACCESS) estiver aberta, certamente VC irá perder a base (irá acontecer da Base ficar Corrompida) e dependendo deste corrompimento da base, VC corre o sério risco de perder todos os dados.

Agora, SE VC manter a base fechada e só abrir quando necessário, têm um lado contra também: Conforme o tamanho da sua base de dados, cada abertura da tabela poderá demorar um pouco para abrir. Mas é muito melhor esperar um certo tempo para a abertura da Base de Dados do que correr o risco de ficar aberta e corromper os dados devido a uma fechada BRUSCA do sistema.
USUARIO.EXCLUIDOS 30/03/2005 15:43:45
#75823
Luiz Cesar, boa tarde.
Quando vc fala abrir o banco de dados vc está querendo dizer abrir o recordset? Porque este eu estou abrindo e fechando sempre que preciso inserir dados numa tabela ou listar os dados de uma tabela. Agora o objeto Connection, eu deixo aberto o tempo todo, só fecho quando a aplicação é finalizada. é desta "abertura" que vc esá falando? Eu não entendi muito bem.
Tópico encerrado , respostas não são mais permitidas