ABRIR E FECHAR TABELA NO BANCO?

SACOFRITO 29/10/2010 07:55:37
#356231
Bom dia galera,
Bom eu sempre vejo nos tópicos aqui o pessoal abrindo e fechando a tabela e tal.
Mas aqui onde trabalho nao temos esse costume, ela é aberta [Ô]set tabela ....[Ô] e no final nao fechamos, seja se for pra abrir uma auxiliar para selecionar dados filtrados ou para insert de novos dados. Ou seja, nao fechamos a tabela, ela fica aberta.

Qual a finalidade de abrir e fechar as tabelas? Influencia muito no desempenho(que influencia, acredito que seja óbvio que atrapalhe)? O fato de deixar várias tabelas abertas pode ajudar a corromper o banco de dados? Pois já li algo sobre variaçao da rede e se tiver tabela aberta pode corromper e etc...

Usando DAO 3.6, como eu fecho a tabela? Apenas [Ô]rsTabela.close[Ô] ao final dos comandos que desejo usar nela?


Obrigado desde já,
Abraços

Sacofrito
LORD6666 29/10/2010 08:35:39
#356236
A nivel de desempenho o programa perde uma pouco quando se abre e fecha tabelas, porém é algo irrisório e hoje em dia é imperceptivel ao meu ver para os computadores atuais.
Mas é interessante fechar pq tipo, as vezes isso pode gerar um erro quando tentar abrir outra tabela usando a msma variável por exemplo, e qd vc abre e fecha depois do [Ô]uso[Ô] vc tem menos um problema pra se preocupar. E tb se a tabela tiver aberta, acredito eu, que se houver oscilação de rede ou queda de rede, corre um serio risco de corrupção de banco de dados.
E pra fechar é esse comando msmo que vc usou ai.
NomeDaTabela.close quando terminar a manipulação de dados.

Abraços.
SACOFRITO 04/11/2010 08:57:54
#356594
Obrigado amigo, deu pra entender, entao nao preciso realmente abrir e fechar, posso deixar aberta e n influenciara muito?

A questao de usar a msm variavel eu tomo bastante cuidado, isso é sem problemas. Mas vou começar a ter o costume de abrir e fechar.
Uma vez fechada eu posso usar a mesma variavel para abrir a tabela, certo?
ACG1574 04/11/2010 11:05:03
#356621
Resposta escolhida
eu faço o seguinte:
dim rstab as adodb.recorset

set rstab = new adodb.recorset

rstab.Open sSql, sCnx, adOpenStatic, adLockBatchOptimistic

[ô]aqui uso o recordset do jeito que eu quiser e depois fecho ele e mato a variavel

rstab.close
set rstab = nothing
SACOFRITO 04/11/2010 13:20:19
#356644
o set rstab = nothing funciona com DAO tb?
ACG1574 04/11/2010 14:15:42
#356650
bem sacofrito, eu nunca usei DAO, nao sei te falar , mas acho que sim
Tópico encerrado , respostas não são mais permitidas