Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-06-2008
fcobanda fcobanda is offline
Miembro
 
Registrado: jun 2003
Ubicación: Saltillo, Coah. Mexico
Posts: 19
Poder: 0
fcobanda Va por buen camino
Gracias duilioisola.

- Te comento que los eventos registrados en la aplicacion son 9
- el Stored procedure es muy simple y corto ya que solo actualiza una tabla que se podria decir que es la principal en este modulo de la aplicacion, ya que se relaciona con varias tablas, y el stored hace varios select's a las tablas que van a actualizar a la principal, y solo genera un evento.
- al estar haciendo esta prueba se hace solo con un equipo usando la aplicacion y la base de datos.
- he notado que al hacer el primer refresh de los datos lo hace de inmediato, pero despues del segundo y el tercero se tarda de 5 a 10 segundos.

CODIGO PARA LLAMAR EL PROCEDIMIENTO

With DmDatos.SPCotizar do
begin
params[0].Value := DmDatos.PPtosCVE_PPTO.Value;
params[1].Value := DmDatos.Oper_PptoCVE_OPER.Value;
params[2].Value := RGTipoDano.ItemIndex;
params[3].Value := DmDatos.PPtosCVE_TAB.Value;
params[4].Value := 1;
params[5].Value := 1;
ExecProc;
end;

CODIGO EN EL EVENTO ONEVENTALERT(solo te envio el de la tabla en mencion)

if EventName = 'PPTOS_DET' then
begin
Datos := DmDatos.Pptos_DetDs.DataSet;
RecargaSet(Datos);
Datos := DmDatos.Oper_PptoDs.DataSet;
end;
RecargaSet(Datos);

CUERPO DEL STORED PROCEDURE (aclarando que es solo de prueba, ya que faltan algunos calculos que iran en el insert)

BEGIN
/* Procedure body */
Importe_Hora = Null;
hrs_cotizar = 0;
Select Importe_Hora From Tabulador_Det
Where Cve_Tab = :Tabula and Segmento = :Segmento
And Clave_Clase = :Cve_Clase
Into :Importe_Hora;
if (Importe_Hora is null) then
begin
Exception sin_Tabulador;
suspend;
end
Select Cve_Actividad, Descripcion, Requerido,
Horas_Dano_Chico, Horas_Dano_Medio, Horas_Dano_Grande
From Operaciones
Where Cve_Oper = per
Into :Cve_ACtividad, escripcion, :Requerido, Hrs_Chico, Hrs_Medio,
Hrs_Grande;
if (Tipo_Dano = 0) then
Hrs_Cotizar = Hrs_Chico;
if (Tipo_Dano = 1) then
Hrs_Cotizar = Hrs_Medio;
if (Tipo_Dano = 2) then
Hrs_Cotizar = Hrs_Grande;
Select Descripcion From Actividades
Where Cve_Actividad = :Cve_Actividad
Into Actividad;

/* Agrega al Detalle del Presupuesto */
Insert Into Pptos_Det
(Cve_PPto, Secuencia, Cve_Oper, Tipo_Dano, Costo,
Descripcion, CVe_Mo_Ref, CostoRef)
Values
(:PPto, 0, :Oper, :Tipo_Dano, 111, :Actividad || ' ' || escripcion,
1,222);
SUSPEND;

END

las constantes en los valores del insert son calculos que se haran despues de saber que esta pasando.

Notan algo raro en esto?
Gracias
Responder Con Cita
Respuesta


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
llamar a procedure desde otra procedure anubis Varios 23 04-03-2010 18:44:37
Procedure ozegarra Firebird e Interbase 5 07-12-2007 23:04:33
Procedure MarioATamborini Firebird e Interbase 5 11-08-2005 18:46:07
¿procedure? Giniromero Firebird e Interbase 18 26-02-2004 15:52:08
Actualizacion en ADO Luis Castillo Conexión con bases de datos 2 08-11-2003 17:42:03


La franja horaria es GMT +2. Ahora son las 15:35:28.


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