consulta sql

09/05/2006 - 13:40 por natalia | Informe spam
Hola a todos, soy nueva en esto y tengo un pequeño problema con una consulta
sql:
select * from tabla where campo = entero
Yo tengo la consulta de la siguiente manera
valor=request.form(id_factura)
Me he asegurado que valor contenga el valor que tiene que tener pero al
hacer la siguiente consulta me da un error.
El campo id_factura es de tipo numérico (entero largo)
strSQL="select * from clientes where clientes.id_factura ="& valor
set rssql = conn.Execute(strSQL)

A alguien se le ocurre qué puede ser
Gracias de antemano
Natalia
 

Leer las respuestas

#1 Dani Castillo
09/05/2006 - 15:54 | Informe spam
Hola natalia, ayudaria saber el tipo de error que te arroja

El fallo lo tienes aqui:
valor=request.form(id_factura)
deberia ser:
valor=request.form("id_factura")

de todas formas en estos casos conviene poner algo de traza (ayuda cuando
andamos perdidos con las sql q creo q a todos nos pasa en ocasiones)

strSQL="select * from clientes where clientes.id_factura ="& valor
response.write "Sentencia sql " & strSQL
set rssql = conn.Execute(strSQL)

asi sabes "cierto" la sentencia q esta construyendo, y la puedes comprobar
contra tu base de datos directamente (en mysql front o cualquier programa q
te permita meter sentencias a la base de datos y testearlas), a veces fallos
de logica de programa sencillos nos llevan a una sql mal construida, de
hecho yo suelo poner cosas como:
<%
strSQL="select * from clientes where clientes.id_factura ="& valor
%>
<!-- Sentencia SQL
<%=strSQL%>
<%
set rssql = conn.Execute(strSQL)


Es decir un comentario en javascript con la sentencia o sentencias q voy
usando, de esta forma ante un fallo en un pc q no sea el de desarrollo
siempre puedo hacer un ver-> codigo fuente y comprobar que esta pasando

por ultimo aunque no deberia ser el fallo , la sentencia la tienes como
strSQL="select * from clientes where clientes.id_factura ="& valor

si lo de antes aun te falla prueba con
strSQL="select * from clientes where id_factura ="& valor

aunque no deberia fallar, y comprueba claro que la conexion esté apuntando
donde debe (si es mysql o sql server incluyendo la base de datos)

dani.
____________________________
""
escribió en el
mensaje news:
Hola a todos, soy nueva en esto y tengo un pequeño problema con una


consulta
sql:
select * from tabla where campo = entero
Yo tengo la consulta de la siguiente manera
valor=request.form(id_factura)
Me he asegurado que valor contenga el valor que tiene que tener pero al
hacer la siguiente consulta me da un error.
El campo id_factura es de tipo numérico (entero largo)
strSQL="select * from clientes where clientes.id_factura ="& valor
set rssql = conn.Execute(strSQL)

A alguien se le ocurre qué puede ser
Gracias de antemano
Natalia

Preguntas similares