![]() |
applyupdates (record not found or changed by another user)
Hola,
estoy desarrollando una aplicación de acceso a bd con MySQL, dbExpress, utilizo: sqlconnection, sqlclientdataset, sqldatasource El problema es a la hora de actulizar campos, el applyupdates me da el error: 'Record not found or changed by another user', pero este error sólo me da en algunas tablas, no en todas. He probado a cambiar el pfInWhere de los campos memo y date, y tampoco. TAmbién dejando exclusivamente upWhereKeyOnly y tampoco. Alguien me da alguna idea? Gracias!! |
¿Y no es posible que otro usuario lo haya modificado?
|
Hola.
No utilizes el sqlClientDataset, en Delphi 7 ha desaparecido precisamente por problemas como este. Como recomienda Borland, utiliza 3 componentes : TSqlQuery, TDatasetProvider, TClientDataset. Enlazas el DatasetProvider al SqlQuery (propiedad Dataset), y el ClientDataset al DatasetProvider (propiedad Provider). Especifica el UpdateMode del DatasetProvider a upWhereKeyOnly o upWhereChanged (como prefieras, yo suelo utilizar la primera). En los campos persistentes del SqlQuery, tienes que especificar cual es el campo de clave primaria, activando el flag pfInKey en su propiedad ProviderFlags. El código, y el resto de componentes en la aplicación no tienen que tocarse. Es decir si antes hacias un Open, Edit, ... ApplyUpdates en el SqlClientDataset, ahora deben hacerse igual sobre el ClientDataset (olvídate del SqlQuery, como si no estuviera). Asi como cualquier Grid, TDbEdit, ... tiene que conectarse igualmente al ClientDataset mediante un TDataSource. Saludos. |
Muchas gracias! ;)
Tomo nota. Voy a intentarlo con lo que me dices. Salu2! |
hola con respecto a lo que dijo guillotmarc, siguiendo todos esos pasos pregunto... ¿si o si hay que poner Refresh despues de guardar un registro? no hay forma de no ponerlo? desde ya gracias
|
La franja horaria es GMT +2. Ahora son las 12:45:51. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi