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

Sintaxis en consulta

Estas en el tema de Sintaxis en consulta en el foro de ASP Clásico en Foros del Web. Tengo esta consulta: Set Ob_RS = Conn.Execute ("select * from [avisos] where num_siniestro='1234' ") Así funciona perfectamente pero, si en vez de poner 1234 pongo ...
  #1 (permalink)  
Antiguo 18/02/2005, 04:51
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 22 años, 7 meses
Puntos: 0
Sintaxis en consulta

Tengo esta consulta:

Set Ob_RS = Conn.Execute ("select * from [avisos] where num_siniestro='1234' ")

Así funciona perfectamente pero, si en vez de poner 1234 pongo el nombre de una variable la cual recoge este número de un formulario ya no me funciona:

variable= Request.Form("numero")

Set Ob_RS = Conn.Execute ("select * from [tabla] where num_siniestro="variable" ")

¿cómo sería?
  #2 (permalink)  
Antiguo 18/02/2005, 05:04
 
Fecha de Ingreso: febrero-2005
Ubicación: Santiago de Chile
Mensajes: 5
Antigüedad: 19 años, 3 meses
Puntos: 0
Lo que tienes que colocar es:

Set Ob_RS = Conn.Execute ("select * from [tabla] where num_siniestro=" & variable)

Eso es.... de todas formas te conviene separa la consulta dentro de una variable para tener un mejor control de ella, ésto cuando quieras probar el contenido de tus consultas o cada vez que quieras probar donde se cae tu página, coloca un response.write y luego un response.end()...
ejemplo:

SQL = "select * from [tabla] where num_siniestro=" & variable

response.write(SQL) 'Acá podemos visualizar la consulta antes de ejecutarla
response.end() 'y podemos verificar el contenido de las variables

Set Ob_RS = Conn.Execute (SQL)


Ojalá te resuelva el problema.... Saludos...!!!
  #3 (permalink)  
Antiguo 18/02/2005, 08:08
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 22 años, 7 meses
Puntos: 0
Urgente

Asi lo he hehco pero no me funciona.
SQL = "select * from [tabla] where num_siniestro=" & variable
Set Ob_RS = Conn.Execute (SQL)


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.
/glassinter/sarcc/formulario_estado_aviso.asp, line 17
  #4 (permalink)  
Antiguo 18/02/2005, 08:45
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
SQL = "select * from tabla where num_siniestro='" & variable & "'"
  #5 (permalink)  
Antiguo 18/02/2005, 10:07
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535


¿por qué estás usando un campo de texto para guardar números?

__________________
...___...
  #6 (permalink)  
Antiguo 18/02/2005, 10:26
 
Fecha de Ingreso: abril-2004
Mensajes: 53
Antigüedad: 20 años, 1 mes
Puntos: 0
se puede usar campo de texto para guardar numeros si no vas a relizar operaciones con ellos
  #7 (permalink)  
Antiguo 18/02/2005, 10:49
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Si, no discuto que no se pueda. Pero que no es lo ideal, no lo és.
__________________
...___...
  #8 (permalink)  
Antiguo 18/02/2005, 10:50
 
Fecha de Ingreso: abril-2004
Mensajes: 53
Antigüedad: 20 años, 1 mes
Puntos: 0
Tienes razón
  #9 (permalink)  
Antiguo 19/02/2005, 04:16
Avatar de Laika  
Fecha de Ingreso: octubre-2001
Mensajes: 1.376
Antigüedad: 22 años, 7 meses
Puntos: 0
Si,

En realidad debe de ser un campo numerico porque independientemente de que opere o no con los numeros, un campo texto ocupa mas memoria en la base de datos que uno numerico.
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:52.