Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Procedimientos almacenados en delphi con storeprocedure (https://www.clubdelphi.com/foros/showthread.php?t=26587)

pgl 27-10-2005 16:41:33

Procedimientos almacenados en delphi con storeprocedure
 
Hola que tal? mi situacion es la siguiente, he creado un procedimiento almacenado en InterBase en el cual tengo un parametro de entrada y varios de salida, todo esto me funciona bien en InterBase, pero el problemas es que no se como pasar el parametro de entrada al storeprocedure (he probado con ibstoreprocedure.parambyname('parametroentrada').asinteger:=variable) y tampoco puedo ejcutar el procedimiento en delphi, (estoy usando los controles IBX)... desde ya muchas garcias

Lepe 27-10-2005 17:12:28

No queda claro si es un SP ejecutable o no...

En un query puedes poner:
Código SQL [-]
select * from NombreProcedure
Delphi creará los parámetros de entrada y ahora si puedes usar Query1.parambyname(....)

saludos y espero que sea lo que necesitas

Gabriel2 27-10-2005 22:06:45

En mi caso utilizo un IBquery, pero ya que estamos en este tema, tengo entendido que el control creado para llamar a los procedimientos almacenados es el IBStoredProc. Pero no se como se utiliza.

jachguate 27-10-2005 22:17:04

En este caso, no usarás ibStoredProc, pues en realidad estas enviando un Query.

Código SQL [-]
  Select *
    from Procedimiento(:parametro);

ahora si,
Código Delphi [-]
  ibQuery1.ParamByName('parametro').AsInteger := 10;
  ibQuery1.Open;

Hasta luego.

;)

Gabriel2 27-10-2005 22:50:52

En què caso?
 
Jachguate, puntualmente, me podrías describir el o los casos en que se utiliza el IBStoredProc. Y , sino es molestia, algun ejemplo de pormedio no estaría mal.


Saludos...

jachguate 28-10-2005 01:12:18

un stored proc que no tenga parámetros de salida, es decir, que no devuelve un cursor se invoca mediante ibStoredProc, que debe tener un método ProcName o ProcedureName o algo similar.

Hasta luego.

;)

RONPABLO 04-11-2005 05:32:13

Pues la verdad yo no le encuentro mucha utilidad al ibStoredProc, como tal todo se puede hacer desde un IBQuery, cuando el Procedimiento Almacenado devuelve registros, mando los parametros necesarios como dijo jachguate anteriormente, y cuando el Procedimiento Almacenado no devuelve ningun registro (por ejemplo al hacer uno o varios insert(s) o update(s)) pues hago algo como.

Código Delphi [-]
    IBQuery1.SQL.clear; 
    IBQuery1.SQL.add('execute procedure procedimiento(:prm1)');
    IBQuery1.ParamByName('prm1').AsString := 'Yo soy pablo';
    IBQuery1.ExecSQL;

Ahora no se si al hacerlo por medio del ibStoredProc se ejecute mas rapido!

jachguate 05-11-2005 00:58:53

Cita:

Empezado por RONPABLO
Ahora no se si al hacerlo por medio del ibStoredProc se ejecute mas rapido!

No creo que se ejecute mas rápido. En todo caso, la diferencia no es de funcionalidad. Es algo mas "semantico", digamos, puesto que podrías identificar fácilmente cuales son las llamadas a stored procedures y cuales son queries (select's, insert's, update's).

Al final, es mas cuestión de gustos.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 10:44:52.

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