Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ADO
 problema de sintaxis....(creo)
 Foro Bloqueado  Tema Bloqueado


Autor Temas
adfer
Starting Member

Mexico
33 Posts
Mensajes - 30 Oct 2002 :  01:41:06  Ver Perfil  Enviar Email
Hola

Recien estoy trabajando con ASP y SQL server, estoy en mi primera aplicacion y he realizado ya algunas paginas, pero ahora me he atorado con una consulta a la que no le encuentro el error.

Bueno mi problema creo que lo tengo en el query, y lo que hago: primero por QueryString tomo dos valores de otra pagina (tipo char) y con ellos hago mi consulta:

cad=trim(Request.QueryString("key"))
cadena=trim(Request.QueryString("keydos"))

consulta="SELECT * FROM Cat_prog WHERE Cat_prog.Up='"& cad &"' and Cat_prog.Programa='"& cadena &"'"
rs.Open consulta, conexion

pero no devuelve ningun registro que coincida con la condicion :( y si existe en mi tabla, y si me voy al SQL Analizater y lo hago si me devuelve el registro o registros que coincidan con lo que le solicito, por ello es que creo que mi problema esta en la sintaxis de mi consulta.

Por favor podrian ayudarme?

Gracias de antemano y una super felicitacion por este foro y todos los que en el participan porque es una gran ayuda.

buho_nero
Moderator

España
1316 Posts
Posted - 30 Oct 2002 :  12:12:00  Ver perfil  Enviar e-mail
Yo no veo ningún problema de sintaxis SQL. Seguro que ya lo has comprobado, pero lo único que se me ocurre es que al construir el SELECT no tengas la cadena que esperas obtener. Haz un response.write de esa consulta y comprueba que todo va bien.

Inicio Pagina

adfer
Starting Member

Mexico
33 Posts
Posted - 30 Oct 2002 :  16:55:15  Ver perfil  Enviar e-mail
Tienes razon buho_nero, el problema no es en la sintaxis de la consulta, hice el response write de esta y esto fue lo que me arrojo:

SELECT * FROM Cat_prog WHERE Cat_prog.Up='33101' and Cat_prog.Programa=''

con lo cual veo que la variable cadena no esta recibiendo su valor y queda vacia; lo que si nose es entonces donde tengo mi error, podrias ayudarme?

Mira asi esta la linea de la pagina desde donde envio la cadena:

<td><font size="2" face="Arial, Helvetica, sans-serif"><a href="Catprogver.asp?key=<%=Server.URLEncode(rs("Up")&"")%>& keydos=<%=Server.URLEncode(rs("Programa")&"")%>">Ver</a></font></td>

la verdad nose si es valido de esta forma enviar valores a otra pagina, digo porque estoy enviando dos valores en una misma linea, pero cuando le acerco el puntero del mouse puedo ver en la barra de mi navegador que los valores se toman bien.

Ahora como comente en el primer mensaje en la segunda pagina los recogo asi:

Set rs=server.CreateObject("ADODB.Recordset")

cad=trim(Request.QueryString("key"))
cadena=trim(Request.QueryString("keydos"))


If cad="" or cadena="" then
Response.Write("No es posible mostrar datos")
Response.Redirect "catproglist.asp"
Else
consulta="SELECT * FROM Cat_prog WHERE Cat_prog.Up='"& cad &"' and Cat_prog.Programa='"&cadena&"'"
rs.Open consulta, conexion

Tengo entonces algo mal en esto? :(

Inicio Pagina

buho_nero
Moderator

España
1316 Posts
Posted - 30 Oct 2002 :  19:49:53  Ver perfil  Enviar e-mail
Cuando usar querystrings puedes mandar las variables que quieras siempre que la url no supere los 256 caracteres, y este no es el caso.
Quizá te trunque la cadena de la url algún espacio en blanco que dejes en medio.
De todas formas, siempre que las querystrings me dan dolor de cabeza (que no son muchas veces) me paso a un formulario, lo que pierdes en agilidad lo ganas en seguridad y cantidad de información.

Inicio Pagina

adfer
Starting Member

Mexico
33 Posts
Posted - 30 Oct 2002 :  20:43:37  Ver perfil  Enviar e-mail
Muchas Gracias por tu ayuda buho_nero, ya se soluciono, aunque de una manera muy extraña, pues en la linea cadena=trim(Request.QueryString("keydos")) solo le quite las comillas a (keydos) lo grabe, lo corri, obviamente me mando el error de que faltaba la cadena, le volvi a poner las comillas, lo grabe y corrio bien :-S raro no?, en fin tomare en cuenta lo que me dices de usar el formulario, pues asi como se resolvio como que no me fio :(

gracias

;) hasta la vistaInicio Pagina

caparicio
Junior Member

Chile
384 Posts
Posted - 01 Nov 2002 :  01:10:37  Ver perfil  Enviar e-mail  Visit caparicio's Homepage
Entonces el problema está en la cache de tu navegador. Haz lo siguiente para que pruebes tus páginas. En Herramientas, opciones de Internet, Configuración, marca la opción de que actualice siempre que visites la páginas, o puedes incluir en el código de tus páginas que no se queden en la caché del navegador.

Un saludo desde Chile,

Carlos Aparicio
caparicio@embonor.clInicio Pagina

adfer
Starting Member

Mexico
33 Posts
Posted - 05 Nov 2002 :  00:42:19  Ver perfil  Enviar e-mail
Gracias Carlos por la sugerencia, y perdon por la ignorancia pero como hago eso que me dices en el codigo de mis paginas?

:) SaludosInicio Pagina

caparicio
Junior Member

Chile
384 Posts
Posted - 05 Nov 2002 :  12:12:11  Ver perfil  Enviar e-mail  Visit caparicio's Homepage
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1

Un saludo desde Chile,

Carlos Aparicio
caparicio@embonor.clInicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar