![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
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 = perInto :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 |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|