Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-10-2007
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 25
Caro Va por buen camino
Hola Espartaco, te pongo un ejemplo, con BDE y ADO.

Código Delphi [-]
  //BDE
  Database1.StartTransaction;//inicias la transacción
  try
    //Inserciones, modificaciones o eliminaciones sobre la base de datos
    Database1.Commit;//aceptas las operaciones de la base de datos
  except
   Database1.Rollback;//deshace las operaciones realizadas sobre la BD
   showmessage('Se ha producido un error');
   raise;
  end;//try

 //ADO  
 ADOConnection1.BeginTrans;
 try
   //Inserciones, modificaciones o eliminaciones sobre la base de datos 
   ADOConnection1.CommitTrans;
 except
   ADOConnection1.RollbackTrans;
   showmessage('Se ha producido un error'); 
   raise;
 end;//try


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
  #2  
Antiguo 17-10-2007
Avatar de Espartaco
[Espartaco] Espartaco is offline
Miembro Premium
 
Registrado: oct 2005
Posts: 107
Poder: 21
Espartaco Va por buen camino
Efectivamente eduarcol, he mirado el link de gluglu pero es para firebird.

Al ejemplo de caro me surgen algunas dudas:

- Para utilizar este codigo imagino que no tengo que añadir ninguna libreria.

- Tengo que insertar en el form algun componente?

- y por ultimo, donde pones

Cita:
//Inserciones, modificaciones o eliminaciones sobre la base de datos
puedo poner operaciones para mas de una tabla con sus post correspondientes?

Muchas gracias a todos por vuestra ayuda.
Responder Con Cita
  #3  
Antiguo 17-10-2007
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 22
kuan-yiu Va camino a la fama
Sí, puedes poner todas las operaciones que necesites siempre que formen "un conjunto lógico".
No pongas más de lo que necesites porque cuanto mayor sea la transacción más lento se vuelve el rollback en caso de fallo y más espacio se necesita para éste.
Responder Con Cita
  #4  
Antiguo 25-10-2007
Avatar de Espartaco
[Espartaco] Espartaco is offline
Miembro Premium
 
Registrado: oct 2005
Posts: 107
Poder: 21
Espartaco Va por buen camino
Antes que nada perdon por tardar en probar las transacciones, pero el trabajo manda, y dar las gracias por vuestra ayuda.

He probado las transacciones como pone Caro, pero tengo un problema, que seguramente sera porque es la primera vez que utilizo esto y algo se me habra pasado.

El caso es que me da un error
Cita:
The transaction isolation level must be dirty read for local databases
y no se por que ocurre.

He insertado en el form un componente Database y en la propiedad DatabaseName he puesto el nombre del alias de la base de datos que utilizo. Antes de esto ya tenia insertados los componentes TTable y TDataSource correspondientes, a estos componentes no les he tocado despues de insertar el componente Database.

No se si me he explicado, creo que si. Gracias de nuevo.
Responder Con Cita
  #5  
Antiguo 27-10-2007
Avatar de Espartaco
[Espartaco] Espartaco is offline
Miembro Premium
 
Registrado: oct 2005
Posts: 107
Poder: 21
Espartaco Va por buen camino
Solo para que se refresque el post en la lista y no se pierda, pues necesito la ayuda, espero me contesteis pronto.

Muchas gracias.
Responder Con Cita
  #6  
Antiguo 31-10-2007
Avatar de Espartaco
[Espartaco] Espartaco is offline
Miembro Premium
 
Registrado: oct 2005
Posts: 107
Poder: 21
Espartaco Va por buen camino
Me respondo yo.

El error era que no ponia la propiedad TransIsolation del DataBase en Dirty Read, que es obligatorio para bases de datos locales.

Gracias a todos por vuestra ayuda.
Responder Con Cita
Respuesta


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


La franja horaria es GMT +2. Ahora son las 12:08:30.


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