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 24-04-2011
_CALI _CALI is offline
Miembro
 
Registrado: mar 2008
Posts: 99
Poder: 17
_CALI Va por buen camino
controlar concurrencia en TDataSetProvider

tengo una duda
hola amigos, gracias como siempre por sus consejos...

mi duda es la siguiente:

tengo un TClientDataSet asociado a un TDataSetProvider, digamos q ambos estan en un formulario

ejecuto dos veces el formulario, cuando cambio un valor del registro de un formuario y actualizo con ApplyUpdates(0) y luego trato de hacer lo mismo en el otro formulario me da un error de que otro usuario cambioe el registro..




q solucion podria encontrar a esto? tratandose q debo tarbajar con TDataSet y TDataSetProvider?


Muchas gracias
Responder Con Cita
  #2  
Antiguo 27-04-2011
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Hablo por hablar: ¿Usas transacciones? Quizá sean una solución.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 03-05-2011
_CALI _CALI is offline
Miembro
 
Registrado: mar 2008
Posts: 99
Poder: 17
_CALI Va por buen camino
una solucion...

bueno investigue un poco y me funciona lo siguiente

la propiedad UpdateMode del datasetprovider controla la concurrecia
la puse como upWhereKeyOnly

añadi los campos persistentes al dataset asociado al proveedor
y en cada campo puse la (bandera) providerflags a pfInKey solo al campo clave y a los demas como pfUpdate (es correcta esta solucion?)

la verdad es q no quiero trabajar a ciegas, como hago para ver las sentencias generadas por el proveeedor?

uso D2010 en versiones anteriores tenia el SQLMonitor
Responder Con Cita
  #4  
Antiguo 30-05-2011
arrayman arrayman is offline
Miembro
 
Registrado: abr 2006
Posts: 55
Poder: 19
arrayman Va por buen camino
creo recordar que cuando salieron las versiones turbo delphi la gratuita no
traia tampoco el sqlmonitor, no obstante solo estaba ausente de la paleta
de componentes, asi que si lo creabas en tiempo de ejecucion si que podias
usarlo, quiza tu version de d2010 tampoco lo lleve, (la verdad me cuesta
creer que lo hayan quitado)

no se es un decir.

por otro lado lo que consigues con con esos cambios es modificar la lista de campos que
se incluyen en la sentencia, es decir solo la primary key , con todas sus consecuencias.
es decir se genera un update machando todos los campos que otro usuario pudiera a ver cambiado,
aunque si mal no recuerdo solo se incluyen los que han sufrido cambios.

Última edición por arrayman fecha: 30-05-2011 a las 23:06:14.
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
Como Conectar TDatasetClient y TDatasetProvider.. joelphi Conexión con bases de datos 2 16-02-2009 18:35:58
TClienteDataSer, TDataSetProvider, ADO Palmiro Conexión con bases de datos 5 13-11-2008 12:35:43
Delphi 2007 - Maestro detalle TIBDataSet+TDataSetProvider+TClientDataSet GuerreroDelphi Conexión con bases de datos 5 11-07-2008 22:00:10
Como hacer uso de TDatasetProvider? mpedra Providers 0 24-11-2006 20:12:12
cambiar opciones tdatasetprovider fjolivares Conexión con bases de datos 0 29-12-2003 19:46:28


La franja horaria es GMT +2. Ahora son las 18:27:35.


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