ElCherchu
22-05-2003, 18:53:09
Hola amigos!!!
Estoy iniciando con el uso de los Procedimientos Almacenados y como todos los inicios son dificiles necesito sus ayudas.
Copie dos procedimientos almacenados que encontré en un libro como sigue:
set term ^;
CREATE PROCEDURE EsPrimo(Numero Integer)
Return (Respuesta Integer) as
Declare variable I Integer;
Begin
I = 2;
While (I < Numero) do
begin
if (cast((Numero / I) as Integer) * I = Numero) then
Begin
Respuesta = 0;
Exit;
End
I = I + 1;
end
Respuesta = 1;
end ^
set term ;^
y el otros asi:
set term ^;
create preocudure Primos (Total Integer)
return (primo Integer) as
declare variable I integer;
declare variable Respuesta Integer;
begin
I = 0;
primo = 2;
while (I < Total) do
begin
execute procedure Esprimo Primo
returning_values Respuesta;
if (respuesta = 1) then
begin
I = I + 1;
suspend; /* Nuevo numero*/
end
primo = primo + 1;
end
end ^
set term ;^
bueno esto me devuelve todo los numeros primo encontrados desde 2 hasta la cantidad que digite.
Lo ejecuto desde el ISQL de interbase y me funciona perfectamente, lo hago asi:
SELECT * FROM PRIMOS(100)
Esto según Cantú, y funciona.
Bueno el caso es que quiero ejecutar este SP desde delphi y no se como hacerlo.
Me gustariá que me dijeran cuales componentes IBXs debo usar para esto, y que lineas de cógido debo incluir en ellos.
Cuento con su ayuda, gracias desde ya..
Si lo desean pueden darme sus ayudas poniendo otros ejemplo ...
ElCherchu.....
Estoy iniciando con el uso de los Procedimientos Almacenados y como todos los inicios son dificiles necesito sus ayudas.
Copie dos procedimientos almacenados que encontré en un libro como sigue:
set term ^;
CREATE PROCEDURE EsPrimo(Numero Integer)
Return (Respuesta Integer) as
Declare variable I Integer;
Begin
I = 2;
While (I < Numero) do
begin
if (cast((Numero / I) as Integer) * I = Numero) then
Begin
Respuesta = 0;
Exit;
End
I = I + 1;
end
Respuesta = 1;
end ^
set term ;^
y el otros asi:
set term ^;
create preocudure Primos (Total Integer)
return (primo Integer) as
declare variable I integer;
declare variable Respuesta Integer;
begin
I = 0;
primo = 2;
while (I < Total) do
begin
execute procedure Esprimo Primo
returning_values Respuesta;
if (respuesta = 1) then
begin
I = I + 1;
suspend; /* Nuevo numero*/
end
primo = primo + 1;
end
end ^
set term ;^
bueno esto me devuelve todo los numeros primo encontrados desde 2 hasta la cantidad que digite.
Lo ejecuto desde el ISQL de interbase y me funciona perfectamente, lo hago asi:
SELECT * FROM PRIMOS(100)
Esto según Cantú, y funciona.
Bueno el caso es que quiero ejecutar este SP desde delphi y no se como hacerlo.
Me gustariá que me dijeran cuales componentes IBXs debo usar para esto, y que lineas de cógido debo incluir en ellos.
Cuento con su ayuda, gracias desde ya..
Si lo desean pueden darme sus ayudas poniendo otros ejemplo ...
ElCherchu.....