Ver Mensaje Individual
  #7 (permalink)  
Antiguo 02/05/2007, 08:52
Avatar de Shilfild
Shilfild
 
Fecha de Ingreso: marzo-2007
Mensajes: 120
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Duda con el objeto Recordset

Es que cuando me dán errores así, me pongo a probar todo

Solución 1.-
Código:
cone=Server.CreateObject("ADODB.Connection");
    cone.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="+Server.MapPath("portaljoven.mdb"));
    rstIntranet=new ActiveXObject("ADODB.RecordSet");
    intra2=new ActiveXObject("ADODB.RecordSet");
     intra3=new ActiveXObject("ADODB.RecordSet");
    sentencia="Select top 4 * from destacados order by id_destacado desc";
    rstIntranet.Open(sentencia,cone,adOpenStatic,adCmdTable);    

		while (!rstIntranet.eof){
			Response.Write(rstIntranet.Fields.id_destacados.value);
		rstIntranet.Movenext();
}

        
    
    %>
</table>
<%rstIntranet.close();
cone.close();%>
Error en tiempo de ejecución de Microsoft JScript (0x800A138F)
'rstIntranet.Fields.id_destacados.value' es nulo o no es un objeto
/portal_joven/listado_destacados.asp, línea 53


Linea 53: Response.Write(rstIntranet.Fields.id_destacados.va lue);


Solución 2.-
Error: Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Controlador ODBC Microsoft Access] No coinciden los tipos de datos en la expresión de criterios.
/portal_joven/listado_destacados.asp, línea 36


Línea 36: intra3.Open(vartabla,cone,adOpenStatic,adCmdTable) ;


Tiene lógica, si rstIntranet.Fields.id_destacados no contiene ningún valor, la select que lo compara estará mal hecha.





**** Sigo peleandome con esto ****

He ido probando otras maneras a ver si así conseguia algo:

Por ejemplo si pongo:
Código:
while (!rstIntranet.eof){
        %><tr>
            <% 
			
 Response.Write(rstIntranet("destacados_tipo"));
 vartabla="Select tipo_nombre from tipos where id_tipo=(select destacados_tipo from destacados where id_destacado='"+ rstIntranet("destacados_tipo") +"')";
 intra3.Open(vartabla,cone,adOpenStatic,adCmdTable);
El error no me salta en el response Write sino...

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Controlador ODBC Microsoft Access] No coinciden los tipos de datos en la expresión de criterios.
/portal_joven/listado_destacados.asp, línea 36


Linea 36: intra3.Open(vartabla,cone,adOpenStatic,adCmdTable) ;


Si rstIntranet("destacados_tipo") no es nulo, no tendría por qué dar error no?

Y otra manera...

Código:
while (!rstIntranet.eof){
        %><tr>
            <% 
			
     Response.Write(rstIntranet("destacados_tipo"));
     vartabla="Select tipo_nombre from tipos where id_tipo=(select destacados_tipo from destacados where id_destacado=1)";
     intra3.Open(vartabla,cone,adOpenStatic,adCmdTable);
ADODB.Recordset (0x800A0E79)
La operación no está permitida si el objeto está abierto.
/portal_joven/listado_destacados.asp, línea 36


Linea 36: intra3.Open(vartabla,cone,adOpenStatic,adCmdTable) ;


Con esto supongo que se referirá a la conexión, he probado a Cerrarla y Abrirla antes de atacar a la BD pero, entonces me decía que estaba cerrada.... yo ya no sé qué pensar xD

Última edición por Shilfild; 03/05/2007 a las 02:35