Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/10/2004, 11:31
ciberpata
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 21 años, 10 meses
Puntos: 0
Abro 2 RSet y devueve error: La operación no está permitida si el objeto está cerrado

Saludos:
Me están empezando a entrar manias destructoras con el pc y creo que voy a empezar a tirarle unos manzanazos de cuidado.....;) por eso les pido me echen una mano y mando el código más abajo.
A ver me explico:
Estoy intentando que un formulario para borrar registros de ofertas solo borre los registros del usuario que se ha identificado.
La cosa es que cuando el formulario se carga necesito que el campo "empresaoferta" se rellene automáticamente con el contenido del campo "empresa" de la tabla "clientes".
Como ya tengo abierta una conexión CONN con un recordset RS sobre la tabla "ofertasmayoristas" para realizar el borrado, no me deja abrir el Recorset sobre la tabla clientes de las lineas 134-140.
El error que me envia el navegador es:

----------------------------------
ADODB.Connectionerror '800a0e78'
La operación no está permitida si el objeto está cerrado.
/gestion_mayoristas/ofertas/borrar/borrar_ofertas.asp, line 138
----------------------------------

La cosa es que no he cerrado la conexión ni el recordset. Alguien puede ayudarme. Ya se que el código es largo lo pongo entero por si acaso me fuese a comer algo que fuese importante. Señalo en rojo las líneas de los recordset para que se localice más facil.

Código:
 
<<A href="mailto:%@LANGUAGE="VBSCRIPT">%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%response.Expires=0
Response.AddHeader "PRAGMA", "NO-CACHE" %> 
<% if session("autorizacion")=-1  then 
response.redirect "../../login.asp"
end if
nombreusuario=request.QueryString("nombreusuario")
%>
<html>
<head>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
	document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>

<body background="file:///C|/obradoiroweb/obradoiroweb...n_opacidad.jpg" leftmargin="5" topmargin="5" marginwidth="5" marginheight="5">
<!--Incluimos el fichero de constantes-->
<!--#INCLUDE file="../../../adovbs.asp"-->

<% IF (request.form <> "") then 
set Conn= Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = "DSN=clubviajesoferta.com.turofertas"
Conn.open
Set RS=Server.CreateObject("ADODB.Recordset")
rs.activeconnection=Conn 
rs.source="ofertasmayoristas"
rs.Locktype = adLockOptimistic
rs.CursorType = adOpenDinamic
rs.open

 
Poner_AND= False
'El Codigo siguiente hace que si el formulario se envia vacio no se borre toda la tabla
Vacio=true
For each parametro in request.form 
 parametro = Lcase(parametro)
  if request.form(parametro) <> "" then
   vacio = false   
   exit for
  end if 
next
if vacio=true then
 response.write("<br><br><div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""3"" color=""#FB4C50""><strong>Operación no permitida.<br> Al dejar todos los campos vacios, ha intentado borrar la tabla completa</strong></font></div>")
 'response.write "Operación no permitida. Al dejar todos los campos vacios, ha intentado borrar la tabla completa"
end if

if not vacio then
'Termina el codigo de comprobacion del formulario vacio para no borrar toda la tabla
Filtro= ""
 FOR EACH Parametro IN Request.Form
 IF Request.Form (Parametro) <> "" THEN
  IF Poner_AND THEN
   Filtro= Filtro & " AND " & Parametro & "='"
   Filtro= Filtro & Request.Form(Parametro) & "'"
  ELSE
   Filtro= Filtro & Parametro & "='"
   Filtro= Filtro & Request.Form(Parametro) & "'"
   Poner_AND = True
  END IF
 END IF 
NEXT

Filtro=Lcase(filtro)
rs.filter= Filtro 
%>
<table width="100%" border="0" cellspacing="0" cellpadding="2">
  <tr bgcolor="#e0e0e0"> 
	<td width="17%"> <div align="left"><font color="#003399" size="2" face="Arial, Helvetica, sans-serif">Referencia</font></div></td>
	<td width="33%"><font color="#003399" size="2" face="Arial, Helvetica, sans-serif">Denominación</font></td>
	<td width="8%"><font color="#003399" size="2" face="Arial, Helvetica, sans-serif">Empresa</font></td>
	<td width="13%"><font color="#003399" size="2" face="Arial, Helvetica, sans-serif">Imagen</font></td>
	<td width="16%"><font color="#003399" size="2" face="Arial, Helvetica, sans-serif">Fecha Publicación</font></td>
	<td width="13%"><font color="#003399" size="2" face="Arial, Helvetica, sans-serif">Fecha Validez</font></td>
  </tr>
  <% if rs.bof and rs.eof then
  response.write("<br><br><div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""3"" color=""#FB4C50""><strong>No se encontraron coincidencias con la búsqueda solicitada </strong></font></div>")
  else
 response.write ("Se han borrados las siguientes ofertas <p>")
rs.movefirst
do while not rs.eof %>
<% if colorfila=0 then
	color="#EEF0F7"
  colorfila=1
 else
  color="FFFFFF"
  colorfila=0
 end if %>
  <tr valign="top" bgcolor="<%=color%>"> 
	<td><font size="2" face="Arial, Helvetica, sans-serif"><%=RS("referenciaoferta")%></font></td>
	<td><div align="justify"><font size="2" face="Arial, Helvetica, sans-serif"><%=RS("denominacionoferta")%></font></div></td>
	<td><font size="2" face="Arial, Helvetica, sans-serif"><%=RS("empresaoferta")%></font></td>
	<td><font size="2" face="Arial, Helvetica, sans-serif"><%=RS("imagenoferta")%></font></td>
	<td><font size="2" face="Arial, Helvetica, sans-serif"><%=RS("fechapublicacionoferta")%></font></td>
	<td><font size="2" face="Arial, Helvetica, sans-serif"><%=RS("fechavalidezoferta")%></font></td>
  </tr>
<%
   rs.movenext 
loop 
%>
</table>
<%
rs.movefirst
do while not rs.eof
rs.delete
'Borra siempre el primer registro del filtro
rs.movefirst%>
<%loop%>
<%end if

end if%> 

<br>
<br>
<A HREF="../../../modulo_gestion.asp" target="_parent">Menu principal </A> ** <A HREF="frame_borrar.htm" target="_parent">Borrar Oferta</A> 
<%
'rs.close
'Conn.close
%>
  <%ELSE%>
  
 <%
 set Conn1= Server.CreateObject("ADODB.Connection") 
 Set RS1=Server.CreateObject("ADODB.Recordset")
 Conn1.ConnectionString = "DSN=clubviajesoferta.com.turofertas"
 sqlstring="select empresa from clientes where nombreusuario=" & "'" &nombreusuario& "'"
 Set RS1 = conn1.execute (sqlstring)
 Conn1.open
 response.write "La empresa es: " & categoria = rs1("empresa")
 %>  
   Rellene el campo por el cual desea realizar la búsqueda </p>
   <form name="form1" method="post" action="borrar_ofertas.asp">
	 <table width="100%"  border="0" cellpadding="0" cellspacing="0">
	   <tr>
		 <td width="23%">Referencia</td>
		 <td colspan="3"><input name="referenciaoferta" type="text" id="referenciaoferta" size="20" maxlength="20"></td>
	   </tr>
	   <tr>
		 <td>Denominaci&oacute;n</td>
		 <td colspan="3"><input name="denominacionoferta" type="text" id="denominacionoferta" size="11" maxlength="11"></td>
	   </tr>
	   <tr>
		 <td>Destino</td>
		 <td colspan="3"><select name="destinooferta" id="destinooferta">
		   <option value="""" selected>Seleccione un destino</option>
		   <option value="2 x 1 Ofertas">2 x 1 Ofertas</option>
		   <option value="&Aacute;frica">&Aacute;frica</option>
		   <option value="Am&eacute;rica">Am&eacute;rica</option>
		   <option value="Asia">Asia</option>
		   <option value="Baleares">Baleares</option>
		   <option value="Balnearios-Turismo Salud">Balnearios-Turismo Salud</option>
		   <option value="Canarias">Canarias</option>
		   <option value="Caribe">Caribe</option>
		   <option value="Costas Espa&ntilde;olas">Costas Espa&ntilde;olas</option>
		   <option value="Cruceros">Cruceros</option>
		   <option value="Europa">Europa</option>
		   <option value="Ferias">Ferias</option>
		   <option value="Multiaventura">Multiaventura</option>
		   <option value="Pa&iacute;ses Mediterr&aacute;neos">Pa&iacute;ses Mediterr&aacute;neos</option>
		   <option value="Parques Tem&aacute;ticos">Parques Tem&aacute;ticos</option>
		   <option value="Portugal">Portugal</option>
		   <option value="Puentes - Fin de Semana">Puentes - Fin de Semana</option>
		   <option value="Ski y Monta&ntilde;a">Ski y Monta&ntilde;a</option>
		   <option value="Tarifas A&eacute;reas">Tarifas A&eacute;reas</option>
		   <option value="Turismo Juvenil">Turismo Juvenil</option>
		   <option value="Turismo Rural">Turismo Rural</option>
		 </select></td>
	   </tr>
	   <tr>
		 <td>Empresa</td>
		 <td colspan="3"><input name="empresaoferta" type="text" id="empresaoferta" value="<%=rs("empresaoferta")%>" size="35" maxlength="35"></td>
	   </tr>
	   <tr>
		 <td>Fecha Publicaci&oacute;n</td>
		 <td width="13%"><input name="fechapublicacionoferta" type="text" id="fechapublicacionoferta" size="10" maxlength="10"></td>
		 <td width="4%"><img src="../../../images/iconos/ayuda.gif" width="16" height="20"></td>
		 <td width="60%"><font size="2" face="Arial, Helvetica, sans-serif">DD/MM/AAAA</font></td>
	   </tr>
	   <tr>
		 <td>Fecha Validez</td>
		 <td><input name="fechavalidezoferta" type="text" id="fechavalidezoferta" size="10" maxlength="10">		   </td>
		 <td><img src="../../../images/iconos/ayuda.gif" width="16" height="20"></td>
		 <td><font size="2" face="Arial, Helvetica, sans-serif">DD/MM/AAAA</font></td>
	   </tr>
	   <tr>
		 <td>&nbsp;</td>
		 <td colspan="3"><input type="submit" value="Borrar Oferta" onClick="return window.confirm('Eliminar el/los registro/s')">
			 <input type="reset" value="Limpiar Formulario"></td>
	   </tr>
	 </table>
</form>
   <%end if%>
</body>
</html>
Muchas gracias y siento haber puesto tanto código.