Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 29-07-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 21
BuenaOnda Va por buen camino
Con un IbQuery, lo que sucede es que los datos no los muestro, solo me interesea obtener el progreso, para mostrar una barrita de estado, para mostrar el progreso de la operacion, ademas si no utilizo un valor de retorno, el procedimiento se demora casi el doble, lo que pasa es que ese procedimiento inserta registro en una tabla temporal...


Código Delphi [-]
create procedure sp_ctrl_periodo_tarnscurrido
returns (INSERTADOS integer, CONTRATO_ACTUAL integer,
CODIGO_PARTICULAR varchar(
20), DESCEQUIPO varchar(150))
as
Declare Variable DiasPaso Integer;
Declare Variable PasoVig Date;
Declare Variable Contador Integer;
Declare Variable Contrato Integer;
Declare Variable FecIni Date;
Declare Variable FecTer Date;
Declare Variable DiasArr Integer;
Declare Variable DiasContrato Integer;
Declare Variable Finqui Varchar(
1);
Declare Variable TIPO_FAMILIA integer;
Declare Variable DESCFAMILIA varchar(
1);
Declare Variable CODIGO_MANTENCION integer;
Declare Variable DIAS_MANTENCION integer;
Declare Variable TOTAL_DIAS_ARR integer;
Declare Variable FEC_VIGENCIA date;
/*Declare Variable CONTRATO_ACTUAL integer;
Declare Variable CODIGO_PARTICULAR varchar(20);
Declare Variable DESCEQUIPO varchar(150);*/

begin
Insertados=
0;
DELETE FROM control_tiempo_transcurrido;

FOR SELECT DISTINCT A.CODIGO_MAQUINA,B.DESCRIPCION
FROM DETALLE_CONTRATOS_DE_ARR A, MAQUINAS B
WHERE A.CODIGO_MAQUINA=B.CODIGO_MAQUINA
INTO :Codigo_Particular,DescEquipo
</SPAN>DO BEGIN
/*FOR SELECT DISTINCT CODIGO_MAQUINA,DESCRIPCION
FROM MAQUINAS
INTO :Codigo_Particular,DescEquipo
</SPAN>DO BEGIN*/


DescFamilia=
'M';
Tipo_Familia=
1;

DIASARR=
0;
Contador=
0;
DIASCONTRATO=
0;
TOTAL_DIAS_ARR=
0;
CONTRATO_ACTUAL=
0;

FOR SELECT DISTINCT A.Codigo_Contrato,A.Fecha_Vigencia,B.Fecha_Inicio,B.Fecha_Termino,B.Dias_Arrendado,A.Finiquitado
FROM Contratos_de_Arriendo A,Detalle_Contratos_De_Arr B
WHERE B.Codigo_Maquina =:CODIGO_PARTICULAR
AND A.Codigo_Contrato=B.Codigo_Contrato
AND A.Contrato_Anulado=
'N'
ORDER BY A.Fecha_Contrato Desc
INTO :Contrato,:PasoVig,:FecIni,:FecTer,DiasArr,:Finqui
</SPAN>DO BEGIN

IF( (:Finqui=
'N')AND(Contador=0) )THEN
BEGIN
SELECT COUNT(*) AS TOTAL
FROM CONTRATOS_DE_ARRIENDO
WHERE CODIGO_CONTRATO =:Contrato
AND Codigo_Maquina =:CODIGO_PARTICULAR
INTO :Contador;

IF(:CONTADOR >
0)THEN
BEGIN
/*SELECT Fecha_Vigencia
FROM CONTRATOS_DE_ARRIENDO
WHERE CODIGO_CONTRATO =:Contrato
AND Codigo_Maquina =:CODIGO_PARTICULAR
INTO :PasoVig; */


FEC_VIGENCIA=:PasoVig;
DIASCONTRATO=(
'NOW' - FEC_VIGENCIA);
CONTRATO_ACTUAL=:Contrato;
END
END

IF(CONTRATO_ACTUAL <> Contrato)THEN
BEGIN
IF(FecTer >= FecIni)THEN
TOTAL_DIAS_ARR=TOTAL_DIAS_ARR + DiasArr;
/* (FecTer - FecIni);*/
ELSE
TOTAL_DIAS_ARR=TOTAL_DIAS_ARR +
0;
END
END

IF(TOTAL_DIAS_ARR >
0 ) THEN
BEGIN
FOR SELECT DISTINCT CODIGO_MANTENCION,DIAS_PARA_LA_MANTENCION
FROM PERIODO_MANTENCIONES
WHERE TIPO_FAMILIA=
1
AND CODIGO_PARTICULAR = :CODIGO_PARTICULAR
INTO :CODIGO_MANTENCION,IASPASO
DO BEGIN

IF(:CONTRATO_ACTUAL >
0)THEN
DIAS_MANTENCION=IASPASO - (
'NOW' - FEC_VIGENCIA);
ELSE
DIAS_MANTENCION=IASPASO;

Insertados=Insertados +
1;
INSERT INTO control_tiempo_transcurrido(CODIGO_PARTICULAR,TIPO_FAMILIA,DESC_FAMILIA,
DESCRIPCION_PARTICULAR,CONTRATO_ACTUAL,DIAS_CONTRO_ACTUAL,DIAS_ARRENDADO,
CODIGO_MANTENCION,DIAS_MANTENCION)
VALUES(:CODIGO_PARTICULAR,:TIPO_FAMILIA,ESCFAMILIA,escEquipo,:CONTRATO_ACTUAL,
IASCONTRATO,:TOTAL_DIAS_ARR,:CODIGO_MANTENCION,IAS_MANTENCION);

SUSPEND;
END
END

IF(TOTAL_DIAS_ARR >
0 ) THEN
BEGIN
/*SELECT COUNT(*)
FROM RL_MAQUINAS_COMPONENTES
WHERE CODIGO_MAQUINA=:Codigo_Particular
INTO :Contador;

IF(Contador > 0)THEN
BEGIN */
FOR SELECT DISTINCT A.CODIGO_COMPONENTE,B.DESCRIPCION
FROM RL_MAQUINAS_COMPONENTES A, COMPONENTES B
WHERE A.CODIGO_MAQUINA=:Codigo_Particular
AND A.CODIGO_COMPONENTE=B.CODIGO_COMPONENTE
INTO :Codigo_Particular,DescEquipo
</SPAN>DO BEGIN
DescFamilia=
'C';
Tipo_Familia=
2;
FOR SELECT DISTINCT CODIGO_MANTENCION,DIAS_PARA_LA_MANTENCION
FROM PERIODO_MANTENCIONES
WHERE TIPO_FAMILIA=
2
AND CODIGO_PARTICULAR = :CODIGO_PARTICULAR
INTO :CODIGO_MANTENCION,DIASPASO
</SPAN>DO BEGIN

IF(:CONTRATO_ACTUAL >
0)THEN
DIAS_MANTENCION=DIASPASO - (
'NOW' - FEC_VIGENCIA);
</SPAN>ELSE
DIAS_MANTENCION=DIASPASO;
</SPAN>
Insertados=Insertados +
1;
INSERT INTO control_tiempo_transcurrido(CODIGO_PARTICULAR,TIPO_FAMILIA,DESC_FAMILIA,
DESCRIPCION_PARTICULAR,CONTRATO_ACTUAL,DIAS_CONTRO_ACTUAL,DIAS_ARRENDADO,
CODIGO_MANTENCION,DIAS_MANTENCION)
VALUES(:CODIGO_PARTICULAR,:TIPO_FAMILIA,DESCFAMILIA,escEquipo,:CONTRATO_ACTUAL,
</SPAN>DIASCONTRATO,:TOTAL_DIAS_ARR,:CODIGO_MANTENCION,IAS_MANTENCION);
</SPAN>SUSPEND;
END

END
/* END*/
END

END
end
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Velocidad en interbase r.g.r Firebird e Interbase 3 22-05-2007 20:14:25
Mejorar la Velocidad de Un Store Procedure(InterBase) BuenaOnda Conexión con bases de datos 2 10-08-2006 00:22:15
Velocidad Interbase fjardelphi Firebird e Interbase 5 01-02-2005 09:45:04
Velocidad en Interbase cesar_picazo Conexión con bases de datos 4 23-11-2004 00:30:31


La franja horaria es GMT +2. Ahora son las 05:22:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi