Jump to content
Fórum Script Brasil
  • 0

Fechando Conexao!


dlumeida
 Share

Question

Fiz um sisteminha e funciona blzinha, so que como não fechei as conexões o servidor mais cedo ou mais tarde da pau!! ai eu crie

Sub fecha()

reg.close

set reg = nothing

conexao.close

set conexao = nothing

end sub

Só que ao executar essas linha de código me retorna um erro

código

sql="insert into login (nome) values ('" & vnome & "')"

set reg=conexao.execute(sql)

fecha

Erro:

Tipo de erro:

ADODB.Recordset (0x800A0E78)

Operação não permitida quando o objeto está fechado.

/blog/conect.asp, line 8

Quando e como eu tenho q fechar minha conexão? e quando e como devo fechar um objeto record set??

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

cara eu sempre fecho meus recordsets apos não precisar mais deles..... você pode colocar sempre antes que redirecione a pagina use:

rs.close
set rs=nothing
na conexão:
conexao.close
set conexao=nothing

entendeu...

Link to comment
Share on other sites

  • 0

bem, você tem certeza q não fechou nada antes de alguma chamada pro banco?

Link to comment
Share on other sites

  • 0

brother

você só pode fechar a conexao após ter executado todo o seu codigo

pois, pelo que eu vi, você faz o SELECT, executa ele, e fecha a conexao, né

então.. pra que você faz o select?

Deve ser pra mostrar os dados, certo?

Mas, se você fechar a conexao antes de mostrar os dados, é claro que vai dar erro!

Coloque o codigo que fecha a conexao após todas as operações que usam o banco de dados, e o SQL.

Abraços

Link to comment
Share on other sites

  • 0

Dark não fiz não foi Select não foi Insert!!!

sql="insert into login (nome) values ('" & vnome & "')"

set reg=conexao.execute(sql)

fecha

essa e uma pagina salva.asp

e quando a instrução slq (insert) e executada eu fecho!! pois não irei presisar dela novamente!!!

Link to comment
Share on other sites

  • 0
Guest [ GuTo ] na faculdade

faça assim:

conexao.Execute("insert into login (nome) values ('" & vnome & "')")
fecha()

não precisa setar um recordset para os métodos: insert, update e delete. só no SELECT, pois ele é o único q armazena dados do bd.

LEMBRE-SE DISSO!

E se você fecha a conexao com bd depois de tudo, depois de ter verificado tudo q keria no bd, então nem sei cara.

Posta seu código todo então pra "nóis" ver biggrin.gif

aguardamos!

abraços,

t+

Link to comment
Share on other sites

  • 0

Valeu cara isso eu não sabia, valeu pela dica!!! vo postar o codigo todo!!!

<%@LANGUAGE="VBSCRIPT"%>
<%if session("login")="" then
response.Redirect("restrito.asp")
end if%>
<!--#include file="conect.asp"-->
<!--#include file="convdata.asp"-->
<%
stat=request.QueryString("stat")
if stat=1 then
if request.Form("post")="" then
response.Write("Preencha o campo post!")
else
vautor=session("nome")
vpost=request.Form("post")
sql="insert into post (autor, data, hora, post) values ('" & vautor & "','" & dt & "','" & tempo & "','" & vpost & "')"
set reg=conexao.execute(sql)
response.Redirect("view.asp")
end if
end if

if stat=2 then
vnome=request.Form("nome")
vemail=request.Form("email")
if request.Form("icq")="" then
vicq="N/A"
else
vicq=Request.Form("icq")
end if
vstatus=request.Form("stat")
vusuario=request.Form("usuario")
vsenha=request.Form("senha")
if request.Form("foto")="" then
vfoto="sf.jpg"
else
vfoto=request.Form("foto")
end if
sql="insert into login (nome, email, icq, admin, usuario, senha, foto) values ('" & vnome & "','" & vemail & "','" & vicq & "','" & vstatus & "','" & vusuario & "','" & vsenha & "','" & vfoto & "')"
set reg=conexao.execute(sql)
response.Redirect("usuarios.asp")
end if

if stat=3 then
id=request.QueryString("id_post")
if not request.Form("nome")="" and not request.Form("comentario")="" then
vnome=request.Form("nome")
vcoment=request.Form("comentario")
vemail=request.Form("email")
vsite=request.Form("site")
sql="insert into comentarios (id_post, nome, email, site, data, hora, comentario) values ('" & id & "','" & vnome & "','" & vemail & "','" & vsite & "','" & dt & "','" & tempo & "','" & vcoment & "')"
set reg=conexao.execute(sql)
response.Redirect("view.asp")
else
response.Write("digite um nome e um comentario valido")
end if
end if
%>

<!--#include file="conect.asp"--> Conexao com o bd

<!--#include file="convdata.asp"--> Somente tratamento de data

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.7k
    • Total Posts
      648.4k
×
×
  • Create New...