Foros del Web » Programando para Internet » ASP Clásico »

Agregar el Order by

Estas en el tema de Agregar el Order by en el foro de ASP Clásico en Foros del Web. Hola, amigos! tengo el siguiente problema cuando coloco el +"order by producto.nombre" la ordenación me funciona bien todas las categorias, pero cuando selecciono una categoria ...
  #1 (permalink)  
Antiguo 06/10/2004, 09:30
 
Fecha de Ingreso: mayo-2004
Mensajes: 75
Antigüedad: 21 años
Puntos: 0
Agregar el Order by

Hola, amigos! tengo el siguiente problema cuando coloco el +"order by producto.nombre" la ordenación me funciona bien todas las categorias, pero cuando selecciono una categoria del listado de productos me da error aqui les envio el código. GRACIAS!

<%
categoria=request.querystring("id")
if categoria<>"" then
sqlparam = "where producto.idcategoria=" & categoria
end if
Call OpenDataBase1("catalogo.mdb")
SqlUsu = "SELECT producto.idproducto, producto.codigo, producto.nombre, producto.descripcion, producto.idcategoria, producto.filename, categoria.categoria FROM categoria INNER JOIN producto ON categoria.idcategoria = producto.idcategoria " & sqlparam
rsbda.Open SqlUsu, cbda
do until rsbda.eof
%>

Al listarlos todos no hay problema, el problema es cuando se selecciona un "id" especifico que contiene un categoria.

Saintel
  #2 (permalink)  
Antiguo 06/10/2004, 13:01
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 8 meses
Puntos: 18
pueden pasar varias cosas: que producto.idcategoria sea un campo texto, con lo que tendrías que poner

Código PHP:
sqlparam "where producto.idcategoria='" categoria&"'" 
que request.querystring("id") no traiga parámetros válidos para tu base de datos....


que error te da?
  #3 (permalink)  
Antiguo 06/10/2004, 16:19
 
Fecha de Ingreso: mayo-2004
Mensajes: 75
Antigüedad: 21 años
Puntos: 0
Amigo Trasgukabi, el parametro "id" es la categoria del producto es decir:

id producto:01
nombre: Pantalon
descripcion: Pantalon de Vestir para caballeros
id: 01, donde categoria es: ropa casual.

asi va la cosa.

Gracias
  #4 (permalink)  
Antiguo 06/10/2004, 17:02
 
Fecha de Ingreso: mayo-2004
Mensajes: 75
Antigüedad: 21 años
Puntos: 0
Mensaje de error:

Microsoft JET Database Engine (0x80040E14)
Error de sintaxis (falta operador) en la expresión de consulta 'producto.nombrewhere producto.idcategoria=5'.
/paginaweb/TMPi9b8l56qk8.asp, línea 68

este es el mensaje de error cuando selecciono cualquieras de las categorias de combo lista.

Ahora es es el codigo con el order by

categoria=request.form("categoria")
if categoria<>"" then
sqlparam = "where producto.idcategoria=" & categoria
end if
Call OpenDataBase1("bushido.mdb")
SqlUsu = "SELECT producto.idproducto, producto.codigo, producto.nombre, producto.descripcion, producto.idcategoria, producto.filename, categoria.categoria FROM categoria INNER JOIN producto ON categoria.idcategoria = producto.idcategoria " + "Order by producto.nombre"& sqlparam
rsbda.Open SqlUsu, cbda


Gracias
  #5 (permalink)  
Antiguo 07/10/2004, 00:31
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 8 meses
Puntos: 18
vale, entonces has probado a ponerlo con comillas simples, o no?
  #6 (permalink)  
Antiguo 07/10/2004, 08:24
Avatar de shadow_woman  
Fecha de Ingreso: junio-2004
Ubicación: La Isla De Los Muertos
Mensajes: 60
Antigüedad: 20 años, 10 meses
Puntos: 0
SI, yo tambien creo que es cuestion de como le pasas el identificador.Podria ser que fuese un string y tu se lo pasas como entero?. Y otra cosa que ahora no estoy muy segura, en una sentencia SQL no va primero el Where y luego el Order by ?
  #7 (permalink)  
Antiguo 07/10/2004, 13:24
 
Fecha de Ingreso: mayo-2004
Mensajes: 75
Antigüedad: 21 años
Puntos: 0
La comilla simples me generan un comentario, por lo cual no es la opción mas certera,

Lo que no entiendo es por que la colocación de este elemento tanta sencillo como el order by da tantos problemas.

Saintel
  #8 (permalink)  
Antiguo 07/10/2004, 21:54
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 8 meses
Puntos: 18
a ver, de qué estamos hablando, de SQL o de ASP???? llevas razón (teórica): en ASP las simples generan comentario, pero de lo que estamos hablando es de JUGAR con las simples para armar la consulta SQL. y si lo que esperabas era que alguien te lo pusiera en bandeja, QUE COÑO!!!!, aquí está:

Código PHP:
<%
categoria=request.querystring("id")
if 
categoria<>"" then
sqlparam 
"where producto.idcategoria='" categoria&"'"
end if
Call OpenDataBase1("catalogo.mdb")
SqlUsu "SELECT producto.idproducto, producto.codigo, producto.nombre, producto.descripcion, producto.idcategoria, producto.filename, categoria.categoria FROM categoria INNER JOIN producto ON categoria.idcategoria = producto.idcategoria " sqlparam 
rsbda
.Open SqlUsucbda
do until rsbda.eof
%> 
Ésto si el dato es exacto, sino:

Código PHP:
sqlparam "where producto.idcategoria like '" categoria "'"
('poniendo %(comodín) donde quieras, entre '" o " o en los dos
Y si esto no te funciona, buscate un poco más la vida por ahí.
Un saludo.

Última edición por trasgukabi; 07/10/2004 a las 21:58
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:13.