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 |
Hablo por hablar: ¿Usas transacciones? Quizá sean una solución.
|
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 |
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. |
La franja horaria es GMT +2. Ahora son las 23:27:39. |
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