Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-06-2006
Paradiso Paradiso is offline
Miembro
 
Registrado: jun 2004
Posts: 68
Poder: 20
Paradiso Va por buen camino
Cool Uso de Transacciones con Componentes DevExpress

Hola A Todos, les pregunto

como tendria que ser el uso de transacciones considerando que los registros estan conectados a componentes devExpress, mi pregunta radica en que hasta el momento yo estaba haciendo un applyupdate para guardar los datos en la base de datos

me encuentro con que debo usar transacciones y no logro
entender una prolija forma de usar transacciones y dichos componentes, me podrian poner algun ejemplo???
les dejo la logica hasta el momento que uso en mi codigo:

como esta ahora no se actualiza bien probando con la edicion de un campo ejecutando dos instancias de la aplicacion.


var td: TTransactiondesc;
begin
td.TransactionID := 1;
td.IsolationLevel:= xilREPEATABLEREAD ; //tambien probe con el retaining.
fmPrincipal.ConexionSQL.StartTransaction(td);

try
... .
cdsVendedores.ApplyUpdates(0);
fmPrincipal.ConexionSQL.Commit(td);


except
On E: Exception do
begin
fmPrincipal.conexionsql.rollback(td);
showmessage('Error');
// Mensajes para el usuario, cambios en el estado del formulario...
end;
Responder Con Cita
  #2  
Antiguo 22-06-2006
nemesio nemesio is offline
Miembro
 
Registrado: nov 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 377
Poder: 19
nemesio Va por buen camino
No entiendo bien tu exposición, con que componentes Dataset trabajas? si trabajas con los de Interbase y lo que quieres es utilizar un componente DataAware de Developer Express no veo por que te complicas la vida.
Ejemplo:
Usa un IBDataset(Crea todos los sql de los que requiere: INSERT, MODIFY,DELETE y REFRESH), asocia el IBDataset a un IBTransaction y un DataSource al IBDataset. Luego cualquier componente Visual de La Dev Express que uses le agregas el DataSource y listo.
Si no es lo que buscas, entonces explicate mejor.
Responder Con Cita
  #3  
Antiguo 22-06-2006
Paradiso Paradiso is offline
Miembro
 
Registrado: jun 2004
Posts: 68
Poder: 20
Paradiso Va por buen camino
Wink nemesion capo

querido nemesio, me explicare mejor ,

estoy haciendo un sistema de gestion, uso d7+interbase+conectividad de datos mediante dbExpress, y a nivel de registros uso componentes devExpress. grillas dbedits etc.

necesito hacer uso de transacciones o mejor dicho agregar a mi codigo
el uso de transacciones
necesitaria saber como guardar los datos ( .post, applyupdate o simplemente commit a la transaccion??)
he investigado los ejemplos que se dan en otro hilos pero no ay forma de que actualice la base de datos bien.


si puede ser con un ejemplo , saber como seria la operatividad de dicha tarea.( la de guardar la informacion en la base de datos.)

y el echo de que recalque lo de devExpress es por que un amigo me dijo que es mas directo utlizando edits comunes y stored proc, pero a esta altura seria muy complejo cambiar tanto codigo.


gracias por tu tiempo.
Responder Con Cita
  #4  
Antiguo 23-06-2006
nemesio nemesio is offline
Miembro
 
Registrado: nov 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 377
Poder: 19
nemesio Va por buen camino
Hola nuevamente

Ya creo entenderte. En primer lugar te digo que debes revisar el codigo de actualización de tus componentes de Interbase. Si tus componentes de Interbase funcionan bien, lo deberían hacer con cualquier componente Data Aware como los nativos de Delphi (DBGrid, DBEdit, etc) o con los Dev Express. Yo tenía un problema parecido al tuyo, metía datos en un Grid de la Dev express y no se actualizaban. Llegué a pensar que eran los componentes, pero al revisar me di cuenta que en Modify del IBDataset no tenia los campos completos de la Tabla.
Usas el IBDataset y el IBTransaction? cual usas. Explica más y asi te podré ayudar con algo de código
Responder Con Cita
  #5  
Antiguo 23-06-2006
nemesio nemesio is offline
Miembro
 
Registrado: nov 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 377
Poder: 19
nemesio Va por buen camino
Algo mas....

No lo he probado, pero un amigo que hizo unas pruebas con DBExpress me dijo que es bastante lento. ¿Por qué no pruebas usar FireBird que es Licencia Pública?
Responder Con Cita
  #6  
Antiguo 24-06-2006
Paradiso Paradiso is offline
Miembro
 
Registrado: jun 2004
Posts: 68
Poder: 20
Paradiso Va por buen camino
nemesio querido

amigo.
mira lo que yo uso es Querys+Datasetprovaders+clientdataset+datasource y ahi conecto con componentes DevExpress.
para guardar lo que hago es un clientdataset.applyupdate(0)
a este tipo de operaciones tengo que agregarle codigo transaccional.

gracias por tu interes.

y con respecto a la lentitud, lamentablemente no dispongo hoy de tiempo y por lo avanzado del proyecto como para migrar a firebird.
Responder Con Cita
Respuesta



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
Operador IS con Componentes DevExpress onlytk OOP 4 27-10-2005 20:46:19
grillas de devexpress VIRU Varios 0 18-08-2005 07:56:09
Devexpress Grid marceloalegre Varios 1 25-05-2005 00:25:47
transacciones y componentes table. inexperto Conexión con bases de datos 3 28-01-2005 07:10:01
Traduccion Componentes DEVEXPRESS nicolasdom Varios 5 26-10-2004 18:10:12


La franja horaria es GMT +2. Ahora son las 14:38:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi