ASP - Consulta sql no funciona

 
Vista:

Consulta sql no funciona

Publicado por Alejandro (3 intervenciones) el 16/11/2005 02:48:38
Intento crear una pagina asp que lo haga sea mostrar productos agrupados en categorias y subcategorias.
Para eso lo que hago es crear una consulta que devuelve ordenado por categorias y subcategorias. Luego hago cortes por categoria y subcategoria, pero no no funciona, me da error.
Me dice

Tipo de error:
(0x80020009)
Ocurrió una excepción.
productos2.asp, line 40


<% @LANGUAGE = VBScript %>
<%
Option Explicit
Dim objConn, objRS, strQ, strConnection, strLogin, strPassword

Set objConn = Server.CreateObject("ADODB.Connection")
strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("aver.mdb")&";Persist Security Info=False"
strLogin = "Admin"
strPassword = ""
objConn.Open strConnection, strLogin, strPassword

Set objRS = Server.CreateObject("ADODB.Recordset")
Set objRS.ActiveConnection = objConn
'strQ = "SELECT ID, Nombre, Descripcion, NomArchImagen, Nombre, Nombre FROM Productos WHERE Activo = true ORDER BY Nombre"
strQ = "SELECT ID, Nombre, Descripcion, NomArchImagen, Categoria, SubCategoria FROM Productos WHERE Activo = true ORDER BY Categoria, SubCategoria, Nombre"
objRS.Open strQ
%>

<html>
<head><title>Productos</title></head>
<body bgcolor=#ffffff>

<h1>Catalogo de Productos</h1>

<table border=0>

<%
Dim cCategoria, cSubCategoria, cNextCat, cNextSubCat
While Not objRS.EOF
'Response.Write "<tr><td><a href=""bag.asp?id=" & objRS(0) & """>"
'Response.Write Server.HtmlEncode(objRS(1)) & "</a></td>"
cCategoria = objRS(4)
cNextCat = objRS(4)
Response.Write "<h2>"+cCategoria+"</h2>"
Do While cNextCat = cCategoria
cSubCategoria = objRS(5)
cNextSubCat = objRS(5)
Response.Write "<h3>"+cSubCategoria+"</h3>"
Do While cNextSubCat = cSubCategoria
Response.Write "<tr><td colspan=2><b>" & objRS(1) & "</b> (Id: " & objRS(0) & ")" & "</td></tr>"
Response.Write "<tr><td><img src=" & server.mappath("\imagenes") & "\" & objRS(3) & "></td>"
Response.Write "<td>" & objRS(2) & "</td></tr>"
Response.Write "<tr><td></td></tr>"
objRS.MoveNext
If Not objRS.EOF Then
cNextSubCat = objRS(5)
End if
Loop
Loop
Wend

objRS.close
objConn.close
Set objRS = Nothing
Set objConn = Nothing
%>
</table>
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Nombre Nombre Nombre

Publicado por Michael Grey (61 intervenciones) el 16/11/2005 13:18:44
Fijate si no es porque haces un ORDER BY 'nombre' y en el SELECT lo repites 3 veces ese campo.

"SELECT ID, Nombre, Descripcion, NomArchImagen, Nombre, Nombre FROM Productos WHERE Activo = true ORDER BY Nombre"

Quizás por eso el tipo, motor, se mambea y no sabe por quién ordenar...

Mike28
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar