Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-08-2010
Walterdf Walterdf is offline
Miembro
 
Registrado: may 2003
Ubicación: Buenos Aires
Posts: 152
Poder: 22
Walterdf Va por buen camino
Casimiro Notevi:
En el componente IBDataBase no tiene esa propiedad.

ContraVeneno:
Es exactamente lo que acabo de probar. Esa es la única forma de que los cambios tengan efecto en la base despues del ApplyUpdates.
Creo que si hay que hacer eso si o si, el clientdataset carece de sentido.
Responder Con Cita
  #2  
Antiguo 26-08-2010
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
hombre, tanto como carecer de sentido no creo. Simplemente tener que hacer "a mano" las instrucciones para guardar una relación maestro detalle es mucho relajo, cuando sabes que el clientdataset lo maneja "automático".

El control de errores también es bastante sencillo manejarlo desde el clientdataset.

En fin, me parece más sencillo agregar un "commit", que tener que manejar las instrucciones "a mano".

__________________

Responder Con Cita
  #3  
Antiguo 26-08-2010
Walterdf Walterdf is offline
Miembro
 
Registrado: may 2003
Ubicación: Buenos Aires
Posts: 152
Poder: 22
Walterdf Va por buen camino
Es verdad, me expresé mal. Ahora, sabiendo que de esa manera van los datos a la base, obviamente no voy a cambiar toda la aplicación, pero si me da cierta desconfianza, ya que el componente no hace lo que en teoría debería.

Si alguien mas tiene alguna sugerencia, bienevenido sea.

Gracias a todos.

Un abrazo.
Responder Con Cita
  #4  
Antiguo 26-08-2010
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Walterdf Ver Mensaje
...el componente no hace lo que en teoría debería...
Tienes una teoría muy personal de lo que "debería" hacer el método TClientDataSet.ApplyUpdates.

Te aconsejo leer este hilo: http://www.clubdelphi.com/foros/showthread.php?t=57459. Es probable que tengas abierta ya una transacción al momento de llamar a ApplyUpdates, transacción de base de datos que espera ser confirmada.

ApplyUpdates es para enviar al servidor los cambios que están en memoria, no necesariamente para también confirmarlos a nivel de base de datos. El que también cometa (confirme) la transacción, depende de si ya está abierta una y no es precisamente algo de lo que deba ocuparse el componente TClientDataSet, sino su proveedor (el código de esto lo puedes ver en el hilo referido).

Espero se despejen tus dudas.

Saludos.

Al González.
Responder Con Cita
  #5  
Antiguo 26-08-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola

Cita:
Empezado por Walterdf Ver Mensaje
................ Creo que si hay que hacer eso si o si, el clientdataset carece de sentido.
Yo no estoy de acuerdo con esa parte, el ClientDataSet te permite manejar datos en memoria y todo lo que puedes hacer con ello, yo lo he utilizado con DBExpress/Firebird y no he tenido ningún problema. Puede ser que sean los componentes (IBX), como dice el documento, el ClientDataSet no funciona correctamente con versiones anteriores a la 7.04, prueba de actualizar a esa versión.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #6  
Antiguo 26-08-2010
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Y bueno, estoy seguro que ha de ser alguna configuración que está faltando, tal vez la que comenta Casimiro. El ClientDataset sí maneja las transacciones. Al menos conmigo sí lo hace cuando trabajo con SQL Server.

Cuando empeze a utilizar Firebird, pues esperaba que hiciera lo mismo, pero me toco agregar el commit. Seguro me falta alguna configuración por conocer. Un false a true, algo así.
__________________

Responder Con Cita
  #7  
Antiguo 26-08-2010
Walterdf Walterdf is offline
Miembro
 
Registrado: may 2003
Ubicación: Buenos Aires
Posts: 152
Poder: 22
Walterdf Va por buen camino
Es muy probable. Estuve investigando pero nada aún.

Dejemos abierta esta vía para quien tenga alguna idea al respecto.

Gracias a todos.
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
Capturar errores - ClientDataSets rochi Providers 3 22-11-2008 00:05:17
ClientDataSets con parámetros, no funciona la consulta rochi Providers 3 10-10-2008 20:47:24
ClientDataSets- Personalizar errores rochi Conexión con bases de datos 0 03-05-2008 06:47:52
Clientdatasets anidados con ADO Johnny Q Conexión con bases de datos 4 03-11-2005 02:53:25
Update en Varios ClientDataSets. (Sincronización) Listirrinin Varios 0 19-10-2004 10:49:02


La franja horaria es GMT +2. Ahora son las 09:17:06.


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