Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fernando_Bittencourt

Fechando RecordSets

Recommended Posts

Amigo, Ao meu ver a necessidade...já imaginou se voce desenvolve uma aplicação robusta, com vários acessos e não "destroi" a conexão com o banco de dados????Em todos os meus aplicativos, sempre "fecho" e "destruo" as conexões..Fica a minha opnião..

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim tiozinhoprecisa para nao sobrecarregar o servidor de objetos que nao sao destruidos automaticamente, levam tempo e este tempo pode gerar sobrecarga dependendo das aplicaçoes que estao hospedadas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Srs.

Acho que ele está se referindo ao Recordset e não a conexão.

De fato, as conexões devem ser sempre fechadas e os objetos destruídos.

 

Entretanto, se o recordset não for do tipo "desconectado", fechando a conexão, automaticamente o recordset será fechado (o acessório segue a sorte do principal).

 

Assim, não há necessidade de se fechar o recordset uma vez que a conexão foi fechada.

 

Mas, eu adimito, eu sempre fecho o recordset, mesmo sabendo que ele será fechado no momento em que se fechar a conexão.

 

É importante destacar que não se confunde o fechamento do recordset e da conexão, ambos com o método "close", com a destruição deles. O fechamento não signifca que o objeto foi destruido, ou seja, mesmo estando a conexão fechada o objeto ainda continua a existir, sendo necessário, de qualquer forma, destruí-lo com "Set obj = Nothing".

 

Quem quiser fazer o teste, tentem abrir um recordset após ter aberto uma conexão, feche a conexão e tentem acessar algum registro do recordset, inexoravelmente, a resposta será o erro "Operation is not allowed when the objet is closed" - "Operção não permitida se o objeto estiver fechado"

 

Exemplo

Set objConn = Server.CreateObject("ADODB.Connection")Set objRs = Server.CreateObject("ADODB.Recordset")objConn.Open "conexao"objRs.Open "Select top 10 * from tb_acao",objConn,2,2,1Response.Write objRs.statusobjConn.CloseResponse.Write objRs.Status

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.