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

consulta SQL que no funciona

Estas en el tema de consulta SQL que no funciona en el foro de ASP Clásico en Foros del Web. Hola a tod@s A ver si alguien me puede ayudar Simplemente tengo que mostrar en una pagina una lista de pueblos dependiendo de la provincia ...
  #1 (permalink)  
Antiguo 04/11/2005, 04:13
 
Fecha de Ingreso: junio-2005
Mensajes: 67
Antigüedad: 19 años, 10 meses
Puntos: 0
consulta SQL que no funciona

Hola a tod@s
A ver si alguien me puede ayudar
Simplemente tengo que mostrar en una pagina una lista de pueblos dependiendo de la provincia introducida por el usuario.
Tengo la siguiente Base de datos:

id provincia pueblo
1 Alava Arteaga
2 Alava Amurio
3 Alava Markiz
4 Albacete Abengibre
5 Albacete Almansa
6 Alicante Alcoi
7 Alicante Benidorm
8 Alicante Elche

Este es el código que tengo escrito, pero no me funciona porque no se hacer la consulta SQL.
Alguien tan amable de decirme donde está el error y como resolverlo, le estaria muy agradecida.

<body>
<%provi= Request.QueryString("prov")%>
<div align="center"><strong>PROVINCIA <%=provi%> </strong></div>

<%
Dim oConn, rs, SQL

set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("bdprovincias.mdb")

SQL="SELECT * FROM provincias WHERE (provincia like 'provi')"
set rs = oConn.Execute(SQL)

%>
pueblo<br> <select name="pueblo" style="width:175px;">
<% while (not RS.Eof) %>
<option> <%=Server.HTMLEncode(Cstr(RS("pueblo")))%>
</option>
<% RS.MoveNext
wend%>
</select>
<%

oConn.Close
set RS=nothing
set oConn=nothing

%>




</body>
  #2 (permalink)  
Antiguo 04/11/2005, 05:13
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 4 meses
Puntos: 144
Tal y como montas la consulta, te va a buscar en la BD aquellas provincias que figuren en la misma, y que contengan los caracteres provi (no hay ninguna provincia que se llame provi, porque se llama Barcelona, Madrid, etc...). Como lo que quieres no es eso, sino que busque el valor introducido por el usuario en el input o el select de la provincia (Alava, Alicante, Albacete, etc...), y dado que es una variable, debes mostrarla así:
Código:
SQL= "SELECT * FROM provincias WHERE provincia LIKE '%" & provi & "%'"
Nota: el símbolo % sería algo así como el * en una búsqueda de archivos en tu PC: Ej: buscamos todas las hojas de cálculo ---> *.xls (de hecho, cuando ejecutas una consulta directamente en access, debes usar el asterisco, en lugar de el símbolo de porcentaje).

Editado: He puesto el %, porque no sé si usas un select o un input al usuario, cuando le dices que elija la provincia. Si usas un input, mejor ponerlo. Si usas un select, no hace falta pues los datos de las provincias los has metido tú (bien a mano, aunque sería algo rudimentario, o bien tomados de la BD). Ejemplo: Si es un input, y el usuario introduce "Albacet" (faltando 1 letra), en la consulta SQL te mostrará todas las localidades pertenecientes a Albacete.

Por cierto, pon un rs.Close al final, por ejemplo antes del oConn.close

Última edición por 3pies; 04/11/2005 a las 05:38
  #3 (permalink)  
Antiguo 04/11/2005, 05:45
 
Fecha de Ingreso: junio-2005
Mensajes: 67
Antigüedad: 19 años, 10 meses
Puntos: 0
Muchas gracias.
Voy a probar
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 16:32.