Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   ¿como llamo un procedimiento almacenado? (https://www.clubdelphi.com/foros/showthread.php?t=36917)

jeshu252006 27-10-2006 21:04:40

¿como llamo un procedimiento almacenado?
 
hola a todos mi duda es como llamo un procedimiento almacenado desde delphi

de antemano muchas gracias por su ayuda y paciencia

efelix 27-10-2006 21:23:33

Hola, me parece que debes ser mas específico, de todas formas para llamar a un procedimiento alamcenado se Microsoft Sql Server desde delphi, yo utilizo la paleta ado coloco en la forma un ado connection, un ado storedprocedure y de la paleta data access elijo un data source que estará enlazado al procedimiento almacenado. Si el procedimiento almacenado devuelve un conjunto de resultados, entonces también utilizo un dbgrid de la paleta data controls y enlazo el mismo al datasource, si el procedimiento tiene parámetros, defino el valor de los mismos a través de la propiedad Tparameters del ado storedprocedure, tocando para cada uno de los parámetros la propiedad value y asignandóle el valor del parámetro en dependencia del tipo de datos que definiste el parámetro cuando construiste el procedimiento almacenado en sql server. Luego coloco un botón de comando en la forma y en el evento click del mismo primeramente aplico el método close al procedimiento almecenado, luego le paso los parámetros a través de la propiedad parameters.parambyname('NombreParámetro').Value := al valor que le vas a pasar que puede estar en un edit, por ejemplo si es en un edit entonces igualarías el valor del parámetro a edit.text, y finalmente le aplicas el metodo open al procediemiento almacenado para que de esta manera actue como un refrescamiento. Espero me hayas entendido. Suerte.

jeshu252006 27-10-2006 21:33:52

sorry pero no entendi nada
me lo podrian mostrar con un ejemplo

subzero 27-10-2006 21:48:21

Sería bueno que nos contarás con que Base de Datos estas trabajando y que versión de Delphi utilizas.

Ahora dependiendo, si la estas trabajando en Firebird o Interbase basta con que hagas un query más o menos así:

Código PHP:

with IBQuery1 do
begin
  close
;
  
sql.clear;
  
sql.add('EXECUTE PROCEDURE NOMBRE(PARAMETROS)');
  
ExecSQL
end



jeshu252006 27-10-2006 21:52:52

trabajo con delphi 7 y con base de datos sql server 2000

efelix 27-10-2006 22:26:29

Este es para el caso de procedimientos almacenados de Microsoft Sql Server con dos parámetros de entrada.
Código Delphi [-]
ADOSPEdadCuentas.Close;
  ADOSPEdadCuentas.Parameters.ParamByName('@Edad').Value := EditEdad2.Text;
  ADOSPEdadCuentas.Parameters.ParamByName('@Edad1').Value := EditEdad1.Text;  
  ADOSPEdadCuentas.Open

lgarcia 28-10-2006 17:49:55

Llamada a SP
 
Hola:

Como complemento de lo anterior para el caso de operaciones de insercion, modificacion, eliminacion o que tengan parametros de salida puedes utilizar

Código:

  with ADOSPEdadCuentas do
  begin
    Parameters.ParamByName('@Edad').Value := EditEdad2.Text;
    Parameters.ParamByName('@Edad1').Value := EditEdad1.Text; 
    Prepared:= True;
    ExecProc;
  end;

Saludos

Luis Garcia


La franja horaria es GMT +2. Ahora son las 20:41:04.

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