FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
¿Para qué inicias ahí una transaction?
|
#2
|
||||
|
||||
Te refieres a iniciarla en el evento OnShow?
y adelantándome un poco....donde crees que quedaría mejor?
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#3
|
|||
|
|||
Veo que estas combinando dos conceptos diferentes.
El Show o Create de la 2da forma NO tiene actividad de base de datos por el hecho de mostrarse, por consecuencia el StartTransacction no tiene sentido ahi , tendría sentido en algún botón que de inicio a alguna actividad con la Base de Datos. El StartTransacction es una habilidad de la base de datos que te permite hacer recuperación de actualizaciones de datos que estén anidadas o dependientes de otras mas, es decir poder hacer un ROLLBACK o deshacer cambios aplicados por condiciones no concretadas.. . Si tu duda es como asegurar los datos últimos, busca hacer Commit Transaction para asegurar la ultima escritura o actualización que tenga pendiente el manejador de base de datos. Saludos. |
#4
|
||||
|
||||
Cita:
La idea es facilitarle al usuario el ir al menú para seleccionar la pantalla de catálogos...me gustaría que desde el formulario de Requisición la abra directamente al dar click sobre un botón. Alex, la pantalla de catálogo de lugares la construí pensando en que el usuario selecciona la opción desde el menú principal, entra y graba los lugares de comisión a los que a ido o irá, para luego ser seleccionados en la pantalla de requisiciones....de esta manera trabaja bien. El problema se me presentó al mandar llamar el catálogo desde el formulario de requisición. En fin se puede resolver no abriéndolo desde requisiciones. CASIMIRO, en cuanto a que no es necesario las transacciones y de como están configuradas, te puedo comentar que en otros hilos donde tenia problemas acerca de registro de datos en un ambiente cliente-servidor (el cual es el caso en este momento), se debía a que no usaba el manejo de transacciones, dándome el problema de que los demás usuarios no veían los datos registrados...hasta que el otro usuario se salia del sistema. Esto se resolvio con el uso Startransaction y CommitRetainig/commit y desde entonces desarrollo de esta manera...sin no uso las transacciones tendré estos problemas....o como le haces tu?. Pues la idea amigos, es: QUE DESDE EL FORMULARIO DE REQUISICIONES ABRA, DANDO CLICK EN UN BOTÓN, EL FORMULARIO DE CATÁLOGOS PARA QUE AGREGUE MAS LUGARES, SI NO ESTÁN REGISTRADOS. (no interpreten mal las mayúsculas por fa, no estoy "gritando" ) La otra opción es, no mandarlo llamar jajajaja....y hacer q el usuario lo seleccione desde el menú principal (el formulario del Catálogo) y vuelva abrir las requisiciones e iniciar de nuevo su captura. Saludos y gracias por sus comentarios.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! Última edición por mRoman fecha: 13-07-2018 a las 23:58:08. |
#5
|
||||
|
||||
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 !! |
#6
|
||||
|
||||
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. |
#7
|
||||
|
||||
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 !! |
#8
|
||||
|
||||
Sí
En ningún sitio, en principio no hace falta. No sé cómo tienes configurado los componentes IBX (IBDatabase e IBTransaction), pero si usas uno para el programa, y están configurados correctamente, NO necesitas estar controlando transacciones porque el propio componente ya lo hace. |
|
|
Temas Similares | ||||
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 |
|