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 

Parametros IBDataSet

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Parametros IBDataSet Responder citando

Otra vez por aqui compañeros...

Resulta que intento pasar parámetros a una consulta pero no he dado con la solución.
La propiedad SQLSelect de mi IBDataSet es la siguiente:

SELECT * FROM MITABLA
WHERE ID NOT IN (:PARAM)

Código:


AnsiString Parametros = "1,5,7,9";

IB1->ParamByName("PARAM")->Value = Parametros;
IB1->Open();

// La consulta con parametros deberia de  ser algo a esto:
// SELECT * FROM MITABLA
// WHERE ID NOT IN (1,5,7,9)
// sin embargo no es asi...


No me marca error pero el resultado de la consulta no es el deseado. Alguien a trabajado con parametros utilizando la clausula IN??

De antemano gracias por los comentarios...

Saludos!!!
_________________
Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Para poder realizar la consulta con IN debes de construir la sentencia SQL en tiempo de ejecucion.

Al pasarle al parametro con ParamByName, en realidad solo estas mandado un solo parametro cuando lo que requieres es mandar varios. Es decir el SQL que estas enviando solo contiene un valor dentro del parentesis, algo asi:

Código:

SELECT * FROM MITABLA
WHERE ID NOT IN ('1,5,7,9')


para mandar varios tu consulta debiera ser asi
Código:

SELECT * FROM MITABLA WHERE ID IN (:ID1, :ID2, :ID3)

y entonces pasarle cada valor con ParamByName.

Supongo que debido a que la cantidad de parametros es variable debes de construir el SQL en tiempo de ejecucion.
_________________
Mario.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Yahoo Messenger
Mensaje    Asunto: Responder citando

Gracias Mario...

En efecto... es lo que me imaginaba... aunque trataba de simplifcarme las cosas. No me quedado otra que armar la consulta en tiempo d ejecución.... al menos en este caso.

Gracias por tu aporte.

Saludos
_________________
Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
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.