Ir para conteúdo

POWERED BY:

Arquivado

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

.::ZeroHour::.

RecordSet Closed

Recommended Posts

Fala galera!

Estou com um probleminha, quando vou fazer pela primeira vez uma busca no banco com um valor que não existe ele da erro de que o Recordset fechado na linha 44.

 

Alguem pode me ajudar?

 

Linha 44: if rs.EOF then

 

"ADODB.Recordset (0x800A0E78)

Operation is not allowed when the object is closed."

 

call abrir_conexao

numModulo = request("txt_numModulo")
numTitulo = request("txt_numTitulo")

if (numModulo = "" and numTitulo = "") then
	response.write("<script>location.href('default.asp'); alert('Preencha o número do Módulo ou \nnúmero do Título \npara realizar a consulta!')</script>")
else
	set rs = Server.CreateObject("ADODB.RecordSet")
	set pesquisadb = Server.CreateObject("ADODB.Command")
			
	'Conecta a página com a Procedure proc_obtem_dados_modulo
	pesquisadb.CommandText = "proc_obtem_dados_modulo"
	pesquisadb.CommandType = 4

	'Define a Conexao a ser usada
	set pesquisadb.ActiveConnection = conn
	
	'Passa os valores para a Procedure
	set objParam = pesquisadb.CreateParameter("numModulo",200,1,255,numModulo)
	pesquisadb.Parameters.Append objParam
	set objParam = pesquisadb.CreateParameter("numTitulo",200,1,255,numTitulo)
	pesquisadb.Parameters.Append objParam
	
	set rs = pesquisadb.Execute
	
	' ### Imprime na tela a mensagem caso não encontre nenhum registro na busca. ###

	if rs.EOF then
		call fechar_conexao
		response.redirect("default.asp?msg=Nenhum registro encontrado!")
	else
		if not rs.EOF then
			a = "onLoad=java script:frmCad.submit();"

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual é a linah 44?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia galera.

 

Respondendo ao Custellinha e Ted k'.

Minha conexão está sendo fechada, "call fecha_conexao", logo depois da linha 44, que é o segundo If.

Já retirei essa linha, já o coloquei no final do código e nada, continua dando o mesmo erro.

 

Respondendo ao Mario Monteiro.

Essa é linha 44, "if rs.EOF then", é o segundo If. Ele está logo no final do código que postei.

 

 

Quando pesquiso um número de registro que existe no Banco de Dados, a página funciona normalmente. Mas quando eu pesquiso um número não existe ele apresenta o erro de RecordSet Fechado.

Se quiserem testar possa passar o endereço na web.

 

Agradeço desde já.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

na sua sub de fechar conexao faça o seguinte:

 

if conn.state<>0 then

conn.close

set conn=nothing

end if

 

isso verificará o status do onjeto e se estiver ativo vai fechar, se for 0 não força a destruição do objeto

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.