FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
¿Y qué es fdtPrenomGTDir?
|
#2
|
|||
|
|||
En mi experiencia, las veces que he tenido ese error, es porque FireDac no tiene la información suficiente o correcta para actualizar la información de los registros de la base de datos, esto es, FireDac trata de hacer un update sobre un registro pero el registro, según FirecDac, ya no existe. Cosas para revisar en estos casos:
1. Si la tabla tiene llave primaría verificar si en un FDQuery o FDTable está correctamente asignada la propiedad UpdateOptions.KeyFields: deberia tenes los campos que hacen parte de la llave primaria. 2. Verificar, en un FDQuery o FDTable la propiedad UpdateOptions.updateMode: Si la tabla tiene llave primaria esta propiedad debería establecerse en upWhereKeyOnly . 3. En el inspector de objetos, por cada campo de la llave primaria, verificar las propiedades ProviderFlags.pfInupdate, ProviderFlags.pfInWhere. Generalmente FireDac configura "el solito", sin que nosotros tengamos que hacer nada, todos estos atributos correctamente en tiempo de diseño con solo escribir la consulta SQL; pero en ocasiones FireDac requiere de nuestra ayuda para hacer su trabajo, ejemplo: Cuando la consulta tiene joins, Cuando la consulta se hace sobre una vista, cuando la consulta se hace sobre un procedimiento almacenado, cuando la tabla no tiene definda una primary key sino indices únicos, Cuando el DBA restringe el acceso a metadatos y FireDac no puede tener acceso a información sobre la definición de la tabla, etc. Espero que lo anterior te sirva de orientación para solucionar tu problema. |
#3
|
||||
|
||||
Cita:
Revisaré todo lo que me explicas y despues te comento como me fue
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes |
#4
|
||||
|
||||
Resuelto
Ok, parece que ya se soluciono el problema
Lo que hice fue: - Inclui en la vista las 2 llaves de la relacion (pues tenia solo la del lado muchos) - Asigne la llave en la propiedad UpdateOptions.KeyFields Probé calculando varias veces seguidas en cada área, y no ha dado mas el error Muchas gracias por la ayuda
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes |
#5
|
||||
|
||||
#6
|
|||
|
|||
#7
|
||||
|
||||
fdtPrenomGTDir y fdtPrenomGTCons son controles TFDTable, tablas de FireDAC
fdtPrenomGTDir se basa en una vista de mysql, y la filtro por la categoria de la direccion y fdtPrenomGTCons es lo mismo, pero filtrandola por la categoria de los consultores La vista de mysql es como ya dije, la tabla prenomina y trabajadores unidas por su relacion uno a muchos
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
MySQL con Firedac | muli | Desarrollo en Delphi para Android | 4 | 17-05-2018 19:35:19 |
Firedac y tabla temporal Mysql | lbidi | Conexión con bases de datos | 3 | 21-02-2018 19:47:54 |
Firedac pierde coneccion a MYSQL | lbidi | Varios | 3 | 24-06-2016 18:11:18 |
Conectar a MySql con Firedac | lbidi | Conexión con bases de datos | 3 | 24-05-2016 22:03:07 |
Firedac vs Acceso Directo a MySQl | F3niX | Conexión con bases de datos | 3 | 16-02-2015 08:33:30 |
|