![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Otra opcion valida y quedó resuelto
Que tal, pues analizando las opciones que les plantee de "...que no se mande llamar del formulario de requisiciones, el formulario de catálogos...", pues les comento que la opción (abrir pantalla de catalogos) la quite del menú principal...y mejor opté por llamarlo desde el formulario de requisiciones....y bajo el concepto de transacciones (Gracias al Alex Mireles por sus comentarios) me di cuenta que podía almacenar todo lo q estaba pendiente de ser grabado usando 1 sola transacción, grabando en las base de datos, los lugares nuevos q el usuario haya dado de alta -en caso de que lo haya hecho- junto con los datos de la requisicion, al dar commit, se registraron todos los datos que estaban pendientes....
Por lo tanto el problema no fue de programación, si no -yo creo- de conceptos de diseño y como "acomodar" las virtudes de las trasacciones al grabar los datos. Saludos.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#2
|
||||
|
||||
Respuesta
Bueno de verdad que tengo muchísimos años que no realizo programación tradicional, solo modelo vista controlador o aplicaciones n capas. Imagino que estas usando dbaware(DBEdits, DBGrid y esa cosas), pero lo más recomendable es jamás tener transacciones abiertas ya que estarías dando el control de tu aplicación los usuarios digo por mantener transacciones abiertas por mucho tiempo, imagina que el usuario abre la ventana donde inicias la transacción y se va comer, eso no está bien, debes iniciar la transacción al maneto de atacar dicha base de datos y asegurarte de cerrarla, porque eso te podría llevar a estar dejando transacciones en el limbo, y es allí donde las aplicaciones se pone insoportables.
Y para tu respuesta, llama a tu formularios y inicias y cierras la transacción solo cuando se anecesario.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
#3
|
||||
|
||||
Cita:
De hecho así lo hago, solo la transacción la inicio cuando se abre el formulario y la cierro cuando se da click sobre el botón grabar.....
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#4
|
||||
|
||||
Cita:
Código:
iniciar transacción try ejecutar query finally finalizar transacción end; |
#5
|
||||
|
||||
Hola.
Puede resultar interesante agregar que los componentes IBX, brindan la posibilidad de ajustar la propiedad TIBTransaction.IdleTimer la cuál permite asignar el tiempo máximo que la transacción puede permanecer ociosa antes de aplicar la acción asignada a la propiedad TIBTransaction.DefaultAction. También permite aprovechar el evento TIBTransaction.OnIdleTimer que ocurre cuando la transacción ha agotado el tiempo definido. Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 25-07-2018 a las 21:30:11. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
TEdit, evitar copiar y pegar violación en memoria al cerrar formulario | novato_erick | OOP | 9 | 12-08-2012 19:19:20 |
¿Cómo evitar que al cerrar el formulario principal se cierren los demás? | Master23 | Varios | 5 | 06-06-2010 13:14:46 |
Evitar cerrar formulario principal si hay librerías cargadas dinámicamente | ContraVeneno | Varios | 5 | 03-07-2008 16:21:14 |
formulario abrir, cerrar | arespremium | OOP | 3 | 14-08-2007 09:06:21 |
Evitar cerrar un formulario desde un componente | genius | Varios | 1 | 23-11-2006 15:55:42 |
![]() |
|