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 23-11-2014
Chaja Chaja is offline
No confirmado
 
Registrado: ago 2004
Ubicación: Mar del Plata
Posts: 238
Poder: 0
Chaja Va por buen camino
Transacciones Con DataSnap

Hola Gente...:

Bueno, estoy tratando de hacer cosas con DataSnap, y tengo problemas de Transacciones. Existen tales Tx en DataSanp?,
he leido con mi poco ingles, que del lado del cliente de DataSnap no hay transacciones explicitas, con tan solo hacer ApplyUpdate de ClientDataSet es suficiente. Espero haber ledido bien, es mas en un video de Andreano Lanuse de migracion a DataSnap creo haberlo escuchado.
Pero tengo en mi aplicaciones sin esta tecnologia, abria un tx para hacer la actualizacion de varias tablas y ejecucion de algun store procedure, y si falla algo todo queda como esta. Como hago en una aplicacion cliente de dataSnap, lo mismo que hacai antes? usos ClientdataSet, uso Interbase como base de datos, estoy con Delphi xe5, y uso comp. IBX,
Código Delphi [-]
  DMMain_2.DBXt:=DMMain_2.SQLConectionMain.BeginTransaction(TDBXIsolations.ReadCommitted);
  try
    DMStoreProcedure.spGravarLog.Close;
    DMStoreProcedure.spGravarLog.ExecProc;
    DMStoreProcedure.spGravarLog.Close;
    CDSFc.ApplyUpdate(0);
    .. 
    ... 
    .... asi otro CDS como store haya...  


  DMMain_2.SQLConectionMain.CommitFreeAndNil(DMMain_2.DBXt);
  except
    DMMain_2.SQLConectionMain.RollbackFreeAndNil(DMMain_2.DBXt);
    ShowMessage('NO se gravaron los datos...!');
 end;

es decir esto como se reemplaza en el Cliente de DSanp, o como se resuelve....


Gracias
Responder Con Cita
  #2  
Antiguo 23-11-2014
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
El cliente no inicia ni finaliza transacciones, lo tiene que hacer el server

En ves tener procedure ActualizarTabla o lo que fuera, convertilo en una function, que te devuelve true si se pudo actualizar, o false si entra en el Except. Dentro del except ademas de retornar false haces rollback de la transaccion. Luego, en tu cliente, podes hacer algo como

Código Delphi [-]
   if (Proxy.ActualizarTabla) then
     ShowMessage('Datos actualizados')
  else
   ShowMessage('Falla al actualizar')
Responder Con Cita
  #3  
Antiguo 23-11-2014
Chaja Chaja is offline
No confirmado
 
Registrado: ago 2004
Ubicación: Mar del Plata
Posts: 238
Poder: 0
Chaja Va por buen camino
mmmm.... bien, queda claro que no se puede hacer en el cliente... pero la verdad no tengo idea como hacer... como hago en el servidor para meter Store, querys y/o ClientDataSet dentro de la Tx???
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
Datasnap Conexion JULIPO Providers 1 22-08-2013 00:53:07
DataSnap y XML rchavezh Providers 5 12-07-2013 22:23:15
Aplicacion DataSnap XE2 muli Providers 2 01-08-2012 17:17:27
datasnap jgutti Varios 1 23-12-2011 14:25:20
Tstrings en datasnap juank1971 Conexión con bases de datos 4 25-05-2011 21:31:40


La franja horaria es GMT +2. Ahora son las 19:31:23.


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