FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problemas al actualizar con upWhereChanged(dbExpress)
Hola foro !!
Estoy trabajando con DbExpress y D7. He estado leyendo sobre las distintas modos de actualizar registros del cliente a la base (modeUpdate: upWhereAll, upWhereKeyOnly y upWhereChanged. Según lo que leí en http://www.marteens.com/trick4e.htm, el que más se recomienda es el upWhereChanged. Mi problema está en que no logro actulizar mi base al hacerlo de esta manera, es más, la única que me funciona es cuando uso el modo upWhereAll. Tengo una tabla 'pais' y quiero actualizar un solo registro. Para eso tengo: 1. SQLDataSet (SELECT * FROM pais WHERE idPais = :idPais), que le llame qPais. 2. DataSetProvider 3. ClientDataSet, que le llamé cPais 4. DataSource El código consiste en 3 botones con el siguiente contenido: Un botón que lee el registro de la tabla 'pais': qPais.ParamByName('idPais').value := 1; // es la clave principal primaria y unica qPais.Refresh; cPais.Open; Un botón para modificar el registro leido: cPais.Edit; cPais.FieldByName('nombre').Value := 'xxxxxx'; cPais.Post; Y un botón final para grabar en la base los cambios: cPais.ApplyUpdates(0); Cuando utilizo el upWhereChanged me sale el siguiente error: 'Update affected more than 1 record' Cuando utilizo el upWhereKeyOnly me sale el siguiente error: 'Unable to find record. No key specified' Les agradeceré que me puedan orientar en este problema que tengo.
__________________
Sebastian Ibarrola UAP |
|
|
|