Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Parámetros en SQL

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Parámetros en SQL Responder citando

Hola amigos:

Utilizo Microsoft SQL Server.
Tengo un TADOQuery al que le tengo asignado la siguiente consulta SQL:
Código:

Select Fecha
, Codigo
,NIP
,Directorio
,Imagen
from impresos where NIP like :NIP +'%' ORDER BY NIP


Para que la consulta funciones bien, desde mi programa, tengo que decirle:
Código:

   Consulta->Parameters->Items[0] = "%";


En principio puede parecer que necesito inicializar los valores de los parámetros y que no le hace caso a :NIP + '%'

Pues bien si añado otro parámetro , por ejemplo Imagen like :imagen + '%', no tengo que poner la instrucción

Código:

   Consulta->Parameters->Items[1] = "%";


para que funcione la consulta.

Al parecer con que inicialice uno de los campos ya funciona.

Tengo una consulta con muchos parámetros y me ocurre eso.
Si le inicializo uno de los parámetros con la instrucción anterior, la consulta funciona, sino no funciona.

Os preguntaréis que si tengo parámetros es para darle valores.
Correcto, pero cuando muestro la tabla inicialmente quiero que tenga todos los elementos, por lo que se supone que si no le dices nada debe tomar todos los parámetros a NULL + '%' debe dar como resultado la cadena '%' o sea todos los elementos.

¿Esto es normal?

Un saludo y Gracias.
_________________
La pintura es la expresión de la mente.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

No he trabajado con SQLServer, suelen haber diferencias de comportamiento entre las respuestas de un tipo de servidor de datos a otro.
Aun asi prueba lo siguente:

La Consulta

Select Fecha
, Codigo
,NIP
,Directorio
,Imagen
from impresos where NIP like :NIP ORDER BY NIP

Asigna los valores a los parametros en el evento BeforeOpen de la consulta

Consulta->ParamByName("NIP")->Value="%VALOR"%";

Por lo general un parametro vacio devuelve todos los registros en una clausula Like.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.