Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-05-2004
Nose Nose is offline
Miembro
 
Registrado: abr 2004
Ubicación: Chile
Posts: 66
Poder: 21
Nose Va por buen camino
Exclamation Problema con FibPkus y Stored Procedure

Hola!

Soy nuevo con fibplus y firebird 1.5

Hay alguna manera de enlazar un procedimiento almacenado con un datasource, el unico componente que permite asociarlo es un TpFIBDataSet, que es un descendiente de TDataset. ¿O de alguna forma que ese componente ejecutar el procedimiento y que devuelva un conjunto de datos?

¿Cómo se podría hacer pasar los parámetros de entrada?

La razón es que devuelva un conjunto de resultado, según un críterio en la consulta. Además, me gustaría usar el componente TpFIBClientDataSet y asociarlo de alguna manera con un TDBGrid de sólo lectura. ¿Se puede hacer esto?

Gracias
Responder Con Cita
  #2  
Antiguo 06-05-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

No conozco el TpFIBClientDataSet, pero tendrá una propiedad CommandText, o SQL o algo parecido. En ella pón :

Código:
select * from NombreProcedimiento(:Parametro1, :Parametro2)
NOTA: Como ves, el resultado de un procedimiento almacenado, se puede recoger como una consulta normal.

Saludos
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 06-05-2004
Nose Nose is offline
Miembro
 
Registrado: abr 2004
Ubicación: Chile
Posts: 66
Poder: 21
Nose Va por buen camino
Unhappy

Hola, guillotmarc!

Gracias por contestar, pues sí, funcionó de la sgte. manera:

Código:
SELECT  *
FROM
    SP_BROWSEMOVF29( :SMES, :STIPO, :SANO, :FRUT )
Lo que no sé es cómo pasarle los parámetros, pues la única manera que he conseguido es algo así :
Código:
    pFIBDataSet1.Close;
    pFIBDataSet1.Params [0].AsString := '01';
    pFIBDataSet1.Params [1].AsString := 'O';
    pFIBDataSet1.Params [2].AsString := '2004';
    pFIBDataSet1.Params [3].AsFloat  := 3623223;
    pFIBDataSet1.Open;
Lo que quiero es algo así :

Código:
 pFIBDataSet1.Params.ParamByName ( ':SMES'  ).AsString := '01';
Pero, no me reconoce los nombres de los parámetros, :-(
Responder Con Cita
  #4  
Antiguo 06-05-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

Te sobran los dos puntos (solo se utilizan dentro de la sentencia).

Código:
pFIBDataSet1.Params.ParamByName ( 'SMES'  ).AsString := '01';
Saludos
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #5  
Antiguo 07-05-2004
Nose Nose is offline
Miembro
 
Registrado: abr 2004
Ubicación: Chile
Posts: 66
Poder: 21
Nose Va por buen camino
Hola!

Cita:
Te sobran los dos puntos (solo se utilizan dentro de la sentencia).
Tienes razón, esta sintaxis ya no la recordaba, lo que estrabajar sólo con SQLServer 2000.

Era sólo eso.

Saludos
Responder Con Cita
Respuesta



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 16:04:31.


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