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)
-   -   Error extraño con Firedac (https://www.clubdelphi.com/foros/showthread.php?t=93042)

Tecnofacil 27-04-2018 20:27:25

Error extraño con Firedac
 
Buenas colegas. Estoy usando hace tiempo ya un sistema desarrollado en Delphi con Firedac y Mysql. La cuestión es que en un formulario se carga un remito X y se le agregan artículos al detalle. Una vez terminada la carga de artículos, (por lo general son dos o tres), le doy al botón "Finalizar" que lo que hace es abrir la tabla ctacte, agrega un registro a esta tabla con datos del flete y luego cada linea del detalle.
El flete graba bien, pero cuando va a grabar, a la misma tabla, la primer linea del detalle me tira el siguiente error.
https://drive.google.com/open?id=19C...nX87MQusL-QwAQ
Es en el momento en que intento hacer el .post

Tecnofacil 27-04-2018 20:55:53

Resuelto
 
Termine reemplazando el firedac.query por otro con la misma sentencia sql y desapareció el problema

Casimiro Notevi 27-04-2018 21:03:16

Esa solución suele ser muy efectiva en muchos casos, incomprensiblemente.

gatosoft 27-04-2018 21:22:30

[anydac][DApt]-400.[sql]Fetch command fetched[0] instead of [1] record, Possible reasons:update table does not have PK or row identifier,record has been changed/deleted by another user

No es un error tan extraño, normalmente occurre proqeu intentas hacer un update o insert en a través de un Query que no teien debidamente asignados su propiedad ProviderFlags en los TFields.

Generalmente el componente carga los campos y marca los que son llave primaria, pero cuando esto no sucede, se debe ingresar a cada uno y en la propiedad ProviderFlags marcar pfInKey como true.

Record has been changed/deleted by another user... es parte de la confusión al no tener llave primaria definida.

Tecnofacil 30-04-2018 13:02:07

Cita:

Empezado por gatosoft (Mensaje 525927)
[anydac][DApt]-400.[sql]Fetch command fetched[0] instead of [1] record, Possible reasons:update table does not have PK or row identifier,record has been changed/deleted by another user

No es un error tan extraño, normalmente occurre proqeu intentas hacer un update o insert en a través de un Query que no teien debidamente asignados su propiedad ProviderFlags en los TFields.

Generalmente el componente carga los campos y marca los que son llave primaria, pero cuando esto no sucede, se debe ingresar a cada uno y en la propiedad ProviderFlags marcar pfInKey como true.

Record has been changed/deleted by another user... es parte de la confusión al no tener llave primaria definida.

Eso es lo extraño, se estaba utilizando hace tiempo, mas de año, y de repente empezó a hacer eso, pense en un error en los datos de la tabla asi que revise todo y nada extraño, se me ocurrio reemplazar el firedacQuery y funciono perfecto.


La franja horaria es GMT +2. Ahora son las 05:29:27.

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