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

Error en consulta con querys

Estas en el tema de Error en consulta con querys en el foro de ASP Clásico en Foros del Web. Hola tengo esta consulta en la que id_persona es un campo numerico: sql= "select * FROM tabla1 WHERE id_persona='"&Request.QueryString("id_persona")&"' Set rs = Conn.Execute (sql) Me ...
  #1 (permalink)  
Antiguo 09/08/2006, 07:29
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 22 años, 7 meses
Puntos: 0
Error en consulta con querys

Hola tengo esta consulta en la que id_persona es un campo numerico:

sql= "select * FROM tabla1 WHERE id_persona='"&Request.QueryString("id_persona")&"'

Set rs = Conn.Execute (sql)

Me da este error:

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis (falta operador) en la expresión de consulta 'id_persona=''1100'''.

¿Podeis ayudarme con este error?

Gracias
  #2 (permalink)  
Antiguo 09/08/2006, 07:50
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
id_persona es un campo numerico, asi que tus comillas simples salen sobrando :

sql= "select * FROM tabla1 WHERE id_persona= " & Request.QueryString("id_persona")
  #3 (permalink)  
Antiguo 10/08/2006, 01:10
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 22 años, 7 meses
Puntos: 0
ahora me da otro error diferente

Lo he cambiado de la siguiente manera que me has dicho:

sql= "select * FROM tabla1 WHERE id_persona= " & Request.QueryString("id_persona")

Set rs = Conn.Execute (sql)

Pero ahora me da este error:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Controlador ODBC Microsoft Access] No coinciden los tipos de datos en la expresión de criterios.

Id_persona es campo numérico

¿Porqué me da este error?¿la variable que le llega por query no es numérica?
  #4 (permalink)  
Antiguo 10/08/2006, 03:37
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 22 años, 7 meses
Puntos: 0
Si hago un response.write d ela variable sql me sale esto:

select * FROM tabla1 WHERE id_persona= '1100'

Parece que lo que me viene del query no se por qué parece que es texto porque el campo con el que lo comparo en el where de la consulta es número.

Ayuda
  #5 (permalink)  
Antiguo 10/08/2006, 08:44
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
id_persona = cint(Request.QueryString("id_persona"))
sql= "select * FROM tabla1 WHERE id_persona= " & id_persona

para ver si eso te ayuda

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #6 (permalink)  
Antiguo 10/08/2006, 11:00
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
por que no pones de donde tomas el valor de tu query ???
  #7 (permalink)  
Antiguo 11/08/2006, 01:12
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 22 años, 7 meses
Puntos: 0
Ahi estaba el error tomaba un valor numerico pero lo pasaba por query como texto.

Gracias
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 00:07.