Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-09-2005
Avatar de Cabanyaler
Cabanyaler Cabanyaler is offline
Miembro
 
Registrado: jun 2003
Ubicación: País Valencià
Posts: 339
Poder: 21
Cabanyaler Va por buen camino
Smile Parameters y ProcedureName de TAdoStoreProc

Hola.
Estoy realizando una consulta bastante extensa que ataca a muchas tablas relacionadas con INNER JOIN. Para simplificar su implementación, lo que quiero hacer es realizar varias Store Procedure en el servidor SQLServer y ha razón de los parametros que el usuario rellene que servirán de valores para los parametros de dicha consulta, realizar el siguiente trabajo:

Si p.e.
elige parametros que ataquen a un par sólo de tablas relacionadas entonces cargar un SP del servidor al TADOStoreProc especifico que realize la consulta sobre esas dos tablas.
Si elige más parametros que ataquen a otras tablas, cargar otro SP al TADOStoreProc que ataque a ese determinado conjunto de tablas.

Esto he pensado en hacerlo en tiempo de ejecución asignándole:
DataModule.ADOSP_Consulta.ProcedureName := 'ADOQ_ConsultaUNO;1';
De modo que por una serie de condiciones asigne al TADODataSet el procedure del servidor que me convenga en cada momento en tiempo de ejecución, pudiendo ser según otra condición en otra ejecución: DataModule.ADOSP_Consulta.ProcedureName := 'ADOQ_ConsultaDOS;1';... y así con un conjunto limitado de consultas diferentes.

Problema: El problema lo encuentro a la hora de los parametros, los cuales debo asignarlos en tiempo de ejecución además de asignarle un valor de inicio, aunque este sea 'null', ya que al cambiar el nombre del SP asociado al DataSet, los parametros establecidos en tiempo de diseño se pierden.

He estado viendo que existe el mtd :
ADOStoredProc1.CreateParameter('Parm1', ftString, pdInput, 10, nil);pero mi consulta tiene.... .... 79 parametros.

¿Existe alguna orden o metodo o polvos mágicos que me permitan copiar el conjunto de parametros establecido por defecto en tiempo de diseño al TADOStoreprocedure en tiempo de ejecución sin necesidad de crear de nuevo todos los parametros? o bien que, el TADOStoreprocedure tenga siempre los mismos parametros independientemente del valor que le asigne al DataModule.ADOSP_Consulta.ProcedureName, es decir, que no se me pierdan los parametros al reasignar el procedimeinto almacenado en el servidor al TADOSP local del dataModule.

Gracias, espero haberme explicado.
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:51:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi