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

relacionar QueryString a recordset

Estas en el tema de relacionar QueryString a recordset en el foro de ASP Clásico en Foros del Web. Buenas, como se puede ver por el titulo, me parece que no tengo ni claro lo que os quiero preguntar... Tengo un buscador, en la ...
  #1 (permalink)  
Antiguo 19/03/2011, 03:05
 
Fecha de Ingreso: marzo-2011
Ubicación: Alcala de Guadaira
Mensajes: 8
Antigüedad: 13 años, 8 meses
Puntos: 0
relacionar QueryString a recordset

Buenas, como se puede ver por el titulo, me parece que no tengo ni claro lo que os quiero preguntar...

Tengo un buscador, en la pagina donde muestro los resultados, si haces click en uno de los resultados, te manda a otra pagina para verlo en detalle. Bueno, el botón manda algunas variables por la URL, concretamente una llamada "loc" que tiene el nombre del pueblo y que recoje del recordset correspondiente a donde se hace la consulta para mostrar resultados.

Ahora, en la siguiente pagina, donde muestro el resultado, actualmente lo que muestra es el mismo formulario de búsqueda pero a la hora de buscar por un pueblo, este pueblo lo pillo del QueryString("loc"), de modo que fuerzo a la gente a realizar búsquedas dentro de ese pueblo. Hasta aqui no hay problema.

Mi pregunta... quiero mostrar una especie de resumen de ese pueblo, justo antes del formulario, con datos de un recordset diferente con consultas diferentes, que eso sí, siempre tienen el campo de "pueblo" igual en todos los recordsets que estoy usando. Me gustaría saber, como puedo hacer que el ASP me compruebe que si el valor de "loc" es igual al valor de "rcset(PUEBLO)" me carge datos del recordset según ese valor, es decir, yo puedo efectivamente mostrar un valor, pero claro, me sale siempre el primer valor del campo PUEBLO del recordset... da igual el valor que tenga "loc". Aqui como tengo esto puesto:

Código ASP:
Ver original
  1. ' esto es del botón de la pagina de resultados donde envio "loc"
  2. <a href="test4.asp?mun=<% =municipio %>&loc=<% =rcset("MUNICIPIO") %>">
  3. <img src="imagenes/img_botondetalles.gif" alt="ver detalles" border="0"/>
  4. </a>

Código ASP:
Ver original
  1. ' esto es de la pagina de pruebas donde intengo recoger el loc
  2. <% If Request.QueryString("loc")<>rcgrup("MUNICIPIO") Then %>
  3. <% =rcgrup("MUNICIPIO") %>
  4. <% Else %>
  5. <% Response.Write("NADA") %>
  6. <% End If %>

Código ASP:
Ver original
  1. <%
  2.            Dim pueblo
  3.            Dim rcgrup
  4.            Dim rWhere
  5.            Dim qSQL
  6.  
  7.            pueblo = Request.QueryString("loc")
  8.                    Set rcgrup = Server.CreateObject("ADODB.Recordset")
  9.  
  10.                   qSQL = "SELECT pueblo.COD, exp.MUNICIPIO, Count(exp.id_tca) AS NExp FROM exp INNER JOIN pueblo ON exp.MUNICIPIO = pueblo.MUNICIPIO GROUP BY pueblo.COD, exp.MUNICIPIO "
  11.                
  12.             rWhere = "HAVING (((exp.MUNICIPIO) = """ & pueblo & """)) "
  13.            
  14.            
  15.             qSQL = qSQL & rWhere
  16.             Response.Write("<p><b>Cadena SQL construida: </b> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  " & qSQL & "</p>")
  17.            
  18.            call rcgrup.Open(qSQL, link)
  19.                    
  20. %>


el error, que tal vez sea por como tengo la SQL, es:

Código ASP:
Ver original
  1. Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
  2.  
  3. [Microsoft][Controlador ODBC Microsoft Access] Pocos par&#225;metros. Se esperaba 1.

Si bien, cuando hago un Response.Write para ver la cadena que formo, es correcta, y la pego en Access (esta todo montado sobre Access) y efectivamente funciona.

EDITADO: bueno al final he dado con la tecla parece... la culpa era de las comillas en el rWhere, ha funcionado todo al ponerlo de este modo:

Código ASP:
Ver original
  1. rWhere = rWhere & " AND Exp.PUEBLO= '" & pueblo &  "' "

Última edición por yonmacklein; 19/03/2011 a las 04:45 Razón: solucionado
  #2 (permalink)  
Antiguo 19/03/2011, 10:46
Avatar de Julcar  
Fecha de Ingreso: noviembre-2007
Ubicación: C:\inetpub\wwwroot\Guayaquil
Mensajes: 1.507
Antigüedad: 17 años
Puntos: 54
Respuesta: relacionar QueryString a recordset

los errores de comillas simples y dobles son cosas que a todos nos ocurren, y que con la experiencia se quitan.
__________________
Linux no es el único S.O. libre, conoce a ReactOS el Windows Libre!
"Si mis respuestas te dan la calma, espárceme un poco de karma"

Etiquetas: querystring, recordset, relacionar
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 19:03.