Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   applyupdates (record not found or changed by another user) (https://www.clubdelphi.com/foros/showthread.php?t=10998)

Stell 03-06-2004 11:03:38

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!!

delphi.com.ar 03-06-2004 15:48:17

¿Y no es posible que otro usuario lo haya modificado?

guillotmarc 03-06-2004 15:59:56

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.

Stell 03-06-2004 16:44:33

Muchas gracias! ;)
Tomo nota. Voy a intentarlo con lo que me dices.

Salu2!

marilinspi 13-05-2008 13:36:20

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 02:42:26.

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