![]() |
![]() |
| 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
|
|||
|
|||
|
Hola de nuevo Virginia
1.- Pues si lo tienes en relación de maestro/detalle, deberían actualizarse los demas TIBDatasets son necesidad de un Close/Open 2.- Yo creo que la actualización o no de los componentes DataAware no tiene nada que ver con el BookMark, pero podrías pobarlo. No obstante, éstos deberían de actualizarse solitos al hacer el Open del TIBDataSet 3.- Bueno, todo depende de lo que haga ese procedimiento. Si ha de hacer muchas cosas, pues sí, pero si es algo sencillo, debería ir ligero ![]() |
|
#2
|
|||
|
|||
|
Hola,
Cita:
Código:
CREATE PROCEDURE PROECONOPAGO
RETURNS (
CODIGO INTEGER,
NUMALU SMALLINT,
NUMGRUP SMALLINT,
FECHA TIMESTAMP,
ASIENTO INTEGER,
CONCEPTO VARCHAR(50),
IMPDEBE NUMERIC(15,2),
IMPHABER NUMERIC(15,2),
FORPAGO SMALLINT,
RECIBO VARCHAR(10),
FACTURA VARCHAR(10),
USUARIO VARCHAR(10),
TIPO VARCHAR(1),
EMPRESATXT VARCHAR(1),
CONTROL VARCHAR(1))
AS
DECLARE VARIABLE VCODIGO INTEGER;
DECLARE VARIABLE VNUMALU SMALLINT;
DECLARE VARIABLE VNUMGRUP SMALLINT;
DECLARE VARIABLE VFECHA TIMESTAMP;
DECLARE VARIABLE VASIENTO INTEGER;
DECLARE VARIABLE VCONCEPTO VARCHAR(50);
DECLARE VARIABLE VIMPDEBE NUMERIC(15,2);
DECLARE VARIABLE VIMPHABER NUMERIC(15,2);
DECLARE VARIABLE VFORPAGO SMALLINT;
DECLARE VARIABLE VRECIBO VARCHAR(10);
DECLARE VARIABLE VFACTURA VARCHAR(10);
DECLARE VARIABLE VUSUARIO VARCHAR(10);
DECLARE VARIABLE VTIPO VARCHAR(1);
DECLARE VARIABLE VPRODUCTOGRUP VARCHAR(2);
DECLARE VARIABLE VEMPRESAPRO VARCHAR(1);
DECLARE VARIABLE VCONTROL VARCHAR(1);
begin
for select CODIGO, NUMALU, NUMGRUP, FECHA, ASIENTO, CONCEPTO, IMPDEBE,
IMPHABER, FORPAGO, RECIBO, FACTURA, USUARIO, TIPO
from ECONO
order by numalu
into
:VCODIGO,:VNUMALU,:VNUMGRUP,:VFECHA,:VASIENTO,:VCONCEPTO,:VIMPDEBE,
:VIMPHABER, :VFORPAGO,:VRECIBO,:VFACTURA,:VUSUARIO,:VTIPO do
begin
select PRODUCTO from grupos where NUMGRUP =:vnumgrup into :vproductogrup ;
select EMPRESA from produ where PRODUCTO=:vproductogrup into :vempresapro;
If (:vasiento <2 AND :vimpdebe <> 0 ) Then Begin
CODIGO = :VCODIGO;
NUMALU = :VNUMALU;
NUMGRUP = :VNUMGRUP;
FECHA = :VFECHA;
ASIENTO = :VASIENTO;
CONCEPTO = :VCONCEPTO;
IMPDEBE = :VIMPDEBE;
IMPHABER = :VIMPHABER;
FORPAGO = :VFORPAGO;
RECIBO = :VRECIBO;
FACTURA = :VFACTURA;
USUARIO = :VUSUARIO;
TIPO = :VTIPO;
EMPRESATXT = :vempresapro;
CONTROL = :vcontrol;
suspend;
end
end
end
Cita:
Cita:
No sé, he tenido que poner código extra que sé me relentiza la aplicación para asegurarme de cerrar y abrir despues las tablas, pero necesito solucionar esto, para que no me de problemas de lentitud. GRacias virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :) Última edición por Giniromero fecha: 26-02-2004 a las 17:03:12. |
|
#3
|
|||
|
|||
|
Cita:
Cita:
Cita:
|
|
#4
|
|||
|
|||
|
Cita:
Cita:
no creo que vaya por ahí el problema.Cita:
GRacias, Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :) Última edición por Giniromero fecha: 26-02-2004 a las 20:00:19. |
|
#5
|
|||
|
|||
|
Hola,
1) [QUOTE = cadetill]..de una buena definición de índices..[/quote] Creo que esto lo estoy haciendo bien, pero, ¿podría alguien darme unas ideas generales de lo que se considera "una buena definición de índices", para asegurarme que no esté aquí el problema? 2) [QUOTE = cadetill]..Prueba a quitar ambas cosas a ver que resultado optienes ..[/quote] He quitado disable controls, y bookmark, y parece que se refresca. Aunque la prueba de fuego es cuando lo pruebe en el otro centro, que como no está en la red local del servidor, si da problemas .... 3) He puesto el procedimiento almacenado, en un TIBDataSet. No le he podido definir código para el deleteSQL ni modificar, pero bueno. el selectSQL es : Cita:
Cita:
y el insertSQL: Código:
insert into ECONO (CODIGO, NUMALU, NUMGRUP, FECHA, ASIENTO, CONCEPTO, IMPDEBE, IMPHABER, FORPAGO, RECIBO, FACTURA, USUARIO, TIPO) values (:CODIGO, :NUMALU, :NUMGRUP, :FECHA, :ASIENTO, :CONCEPTO, :IMPDEBE, :IMPHABER, :FORPAGO, :RECIBO, :FACTURA, :USUARIO, :TIPO) La cosa es que, como ya comenté anteriormente en este mismo hilo, desde que estoy utilizando el procedimiento almacenado, tarda más en abrirse el programa, aunque, por suerte, los procedures del delphi que utilizan ese procedimiento almacenado, van más rápido que antes. Problema, desde que utilizo este procedimiento almacenado, (en vez de una simple consulta), no sólo va más lento al abrirse, sino que me ha relentizado la busqueda de alumnos, (hay que tener en cuenta que todas las demás tablas dependen de la de alumnos). He hecho un "Trace into", para ver que es lo que daba problemas, y he descubierto que son los campos calculados de las tablas que dependen de mi tabla principal de alumnos, especialmente el tibdataset de mi procedimiento almacenado. La cuestión es, si por un lado percibo que usando SP me mejora el tiempo de un procedimiento, pero por otro lado, ese tiempo que gano lo estoy perdiendo cada vez que cambio el alumno seleccionado de la tabla principal... (lo cual es algo muy habitual), no hay ninguna forma de mejorar el tiempo de "apertura" o "respuesta" de estos SP cuando se usan en el delphi?, ¿no hay ningún otro objeto que pueda usar más apropiado que el TIBDataSet? Gracias por la ayuda de antemano, Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :) |
|
#6
|
|||
|
|||
|
Cita:
Cita:
![]() Cita:
Espero te sirva |
|
#7
|
|||
|
|||
|
Hola,
Cita:
Lo peor de todo es que desde que está instalada la primera versión de esta aplicación que utiliza interbase 7 y delphi 6, algunas veces los usuarios del programa, se quejan de que determinados campos de la aplicación, (los campos calculados que tengo que mostrar en ella), directamente no muestran nada, como si no lo calculase, entonces cierran la aplicación, y al abrirla, normalmente, vuelven a tener esos campos con su valor correspondiente. Esto lo comento, pues, una de las cosas que estaba planteandome, por lo mismo, era crear procedimientos, con los campos ya calculados, y trabajar a partir de estos, para evitar ese problema, pero claro, si en estos no pueden guardar datos... Por cierto, los parámetros ptInputOutput del ibstoredPro, ¿para que sirven exactamente? Muchas gracias por todo, Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :) |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|