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

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 17-12-2008
Galahad Galahad is offline
Miembro
 
Registrado: abr 2007
Posts: 266
Poder: 20
Galahad Va por buen camino
Cita:
Empezado por Sick boy Ver Mensaje
Hola,

No estoy de acuerdo. Precisamente yo lo uso para eso.
Tu mismo dices que te funciona, pero que no ves el dato añadido hasta que vuelves a abrir el dataset.
Entonces, asignar el valor funciona, el problema es que no lo ves en ese momento.
bueno, aqui el tema es que tenia yo una confusión de conceptos, por derivación de paradox, hasta ahora el afterinsert erá el evento en el que
asignaba los valores por defecto que vé el usuario para empezar a crear un registro nuevo, error, el triguer before insert es el evento en el que se asignan los valores por defecto antes de grabar el registro.
por eso no me sirve el trigguer para dejar estos valores por defecto cuando (desde un mantenimiento) se crea un registro nuevo.

Cita:
Empezado por Sick boy Ver Mensaje
¿Estas seguro de que es la misma transaccion?? Los FIb tienen un componente de transaccion independiente del dataset??
Has comprobado la opcion (AutoCommit) por defecto del dataset??
si, los fib tienen un componentes de transacción independiente del dataset, tengo una sola transacción, si que tiene la opción autocommit, la tengo a false, el caso es que he vuelto a instalar el servidor de firebird y... FUNCIONA !! , es decir ahora tengo el siguiente código en el evento datasetafterpost:
tpfibdataset( dataset).transaction.commitretaining;
dataset.refresh
es decir , ya no hago el :
dataset.close;
dataset.open;
dataset.locate( ...),
y funciona perfectamente, es decir , no tengo necesidad de volver a abrir la fuente de datos..

Cita:
Empezado por Sick boy Ver Mensaje
te deberia preocupar mucho más el locate, que no utiliza ningun indice para hacer la busqueda, y se trae todos los datos del dataset hasta encontrar el que coincide.
creo el locate utiliza los índices para optimizar los índices ,por lo que no son una mala opción a utilizar si existen indices creados a utilizar (que alguién me rectifique si estoy equivocado


Cita:
Empezado por Sick boy Ver Mensaje
Tengo entendido que commitretaining historicamente no ha funcionado muy bien. Yo apenas lo uso.
Si funciona bien, lo que hacer es un commit de la transaccion, más la apertura del dataset asociado (y quizas me equivoque, pero creo que deberia colocar el cursor en el punto donde estaba anteriormente), lo cual efectivamente consume recursos, tiempo y red.
entiendo que en el contexto de un mantenimiento (uso intensivo de altas/bajas/modificaciones), es más aplicable el concepto del commitretaining,porque se requiere que la tabla quede abierta, en este
hilo hay un comentario al respecto, no obstante me gustaria conocer más opiniones al respecto.

un saludo
Responder Con Cita
 


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
Articulo: Atributos de visibilidad en Delphi marceloalegre Varios 4 25-03-2008 16:29:15
Visibilidad de un objeto instanciado en Form1 desde otra unit lujansantos OOP 2 18-07-2007 16:33:13
Problema con transacciones en Access y Delphi Capi666 SQL 1 11-01-2007 21:49:14
Problema con TClientDataSet y Transacciones dieleo Conexión con bases de datos 0 01-09-2006 02:06:32
Problema en el uso de Transacciones AGAG4 Conexión con bases de datos 13 15-06-2005 19:56:49


La franja horaria es GMT +2. Ahora son las 02:13:33.


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