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)
-   -   Store Procedure en Delphi (https://www.clubdelphi.com/foros/showthread.php?t=25322)

carlomagno 19-09-2005 19:50:12

Store Procedure en Delphi
 
Hola a todos


Os pongo un codigo a ver si alguien me echa un cable


create procedure NuevoCodigoArt(familia integer, CodVie Char(8)) returns (CodArt integer) as
declare variable total Double Precision;

declare variable aux Integer;
begin
if (codVie<>'') then DELETE FROM NUEVOCODART WHERE Codigo=:CodVie;
aux=CAST (familia AS char(3)) || '0001';
select Count(*)
from Articulos a, NuevoCodArt n
where a.Codigo=:aux or n.Codigo=:aux
into :total;
while (total<>0) do
begin
aux=aux+1;
select Count(*)
from Articulos a, NuevoCodArt n
where a.codigo=:aux or n.Codigo=:aux
into :total;
end
Insert INTO NUEVOCODART Values(:aux);
CodArt=:aux;
end ;

Este codigo tiene que buscar el primer codigo libre de la bd de la central.
Por IBConcole me devuelve un codigo correcto pero por del Delphi con un store procedure de IBX siempre me devuelve 0
Gracias

lpmlpm 19-09-2005 21:40:55

has probado llamandolo desde tu programa con una query en vez de un Tstoreprocedure??

algo asi como
select * from NuevoCodigoArt(...)

Deberiamos de hacer una campaña en este foro que se llamase "Stop using IBX!!!!! it's for your own safety.."

no creen?

carlomagno 20-09-2005 11:05:07

pues va igual de mal con select Ya no se que hacer...

Lepe 20-09-2005 12:22:26

OFFTOPIC (aunque puede que no....)
 
Cita:

Empezado por lpmlpm
Deberiamos de hacer una campaña en este foro que se llamase "Stop using IBX!!!!! it's for your own safety.."

no creen?

Pues más vale que des alternativas, que yo ando loco, FibPlus es de pago. IBX que viene con delphi he leido (sabe dios donde) que solo te deja usar 5 licencias, además de pasar por caja.

¿Entonces para atacar Firebird qué componentes uso que sean gratis?:confused:

Saludos

Durbed 21-09-2005 11:12:30

Creo que lo que dices de las 5 licencias es que el servidor de interbase 6, que viene con delphi 7 solo permite 5 conexiones simultaneas, pero si usas Firebird el problema esta resuelto. Es decir que no tiene nada que ver con los componentes. Respecto al procedimiento almacenado, parece que hace bastantes operaciones, quizas lo puedas aligerar un poco o resolverlo mediante programacion. Igual el servior no es muy potente y por eso se toma su tiempo.

Un saludo y suerte.

lucasarts_18 21-09-2005 20:24:22

Cita:

Empezado por Lepe
¿Entonces para atacar Firebird qué componentes uso que sean gratis?:confused:

Saludos

Pues, parece que estos son gratis.

Aquí

:D


La franja horaria es GMT +2. Ahora son las 13:36:19.

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