dlumeida Postado Agosto 9, 2004 Denunciar Share Postado Agosto 9, 2004 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 crieSub fecha()reg.closeset reg = nothingconexao.closeset conexao = nothingend subSó que ao executar essas linha de código me retorna um errocódigosql="insert into login (nome) values ('" & vnome & "')"set reg=conexao.execute(sql)fechaErro:Tipo de erro:ADODB.Recordset (0x800A0E78)Operação não permitida quando o objeto está fechado./blog/conect.asp, line 8Quando e como eu tenho q fechar minha conexão? e quando e como devo fechar um objeto record set?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Agosto 9, 2004 Denunciar Share Postado Agosto 9, 2004 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=nothingentendeu... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dlumeida Postado Agosto 10, 2004 Autor Denunciar Share Postado Agosto 10, 2004 foi isso que eu fiz cara! so que da aquele erro que eu postei!!!você tem um exemplo ai em .asp pra me poder ver? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 [ GuTo ] Postado Agosto 10, 2004 Denunciar Share Postado Agosto 10, 2004 bem, você tem certeza q não fechou nada antes de alguma chamada pro banco? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Agosto 10, 2004 Denunciar Share Postado Agosto 10, 2004 brothervocê só pode fechar a conexao após ter executado todo o seu codigopois, 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dlumeida Postado Agosto 10, 2004 Autor Denunciar Share Postado Agosto 10, 2004 Dark não fiz não foi Select não foi Insert!!!sql="insert into login (nome) values ('" & vnome & "')"set reg=conexao.execute(sql)fechaessa e uma pagina salva.aspe quando a instrução slq (insert) e executada eu fecho!! pois não irei presisar dela novamente!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest [ GuTo ] na faculdade Postado Agosto 11, 2004 Denunciar Share Postado Agosto 11, 2004 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 aguardamos!abraços,t+ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dlumeida Postado Agosto 11, 2004 Autor Denunciar Share Postado Agosto 11, 2004 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
dlumeida
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
Só que ao executar essas linha de código me retorna um erro
código
Erro:
Quando e como eu tenho q fechar minha conexão? e quando e como devo fechar um objeto record set??
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.