 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
LIGERO Cmdr


Registrado: 13 May 2004Mensajes: 134Ubicación: Granada
|
Publicado: Mie 22 Nov, 2006 12:02 pm Asunto: Parámetros en SQL |
|
|
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 |
|
 |
alfredo Master

Registrado: 13 Oct 2003Mensajes: 246Ubicación: Valencia Venezuela
|
Publicado: Mie 22 Nov, 2006 9:41 pm Asunto: |
|
|
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 |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|