FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Necesitas configurar las propiedades AutoincFields (nombre del campo que se actualiza con el generador) y GeneratorName dentro de UpdateOptions del componente TFDQuery.
|
#2
|
||||
|
||||
Modestamente creo que no va por ahi la cosa
Es decir, se trata de visionar el resultado correctamente no de hacer uso del AutoIncrement en FDQuery. Pero probaré. Ya de diré del resultado.
Gracias, bulc |
#3
|
|||
|
|||
Modestamente puede que tengas razón
, he contestado de primeras, y es posible que tengas razón, tendría que probarlo. la idea es que hay que decirle de alguna forma a Firedac qué campo tiene que recuperar su nuevo valor, una vez que haces la inserción, en Fibplus lo tenías que configurar explícitamente para que recuperarlo. Es normal que si no configuras nada el no actualice el valor del generador, no sabe nada el componente sobre que ese campo se actualiza con un generador.
|
#4
|
|||
|
|||
No se si puede servirte, pero esta semana me he entrado que firebird(y otros SGBD) tienen la posibilidad que un insert te devuelva datos...
Seria algo asi como un insert/select. Lo acabo de probar con firebird 2.1 i firedac y me ha funcionado sin problemas. Siguiendo tu ejemplo la sentencia seria...
La única cosa a tener en cuenta es que debes abrir la consulta con Open en lugar de ejecutarla con ExecSQL Saludos todos |
#5
|
||||
|
||||
Yo voy a probar con Refresh a ver
Si eso está claro. Asignar una declaración SQL a un TQuery es lo mismo si se hace con Text (TListString) o si se hace con el método Add. No hay diferencias.
Y tampoco las hay si se abre y activa la declaración con el método Open, o la prop. Active:= True; eso da lo mismo. Pero ExecSQL se debe usar (según mi entender) para órdenes SQL que no retornan conjuntos de datos. Mientras que para datos (Select) basta abrir o activar el Query. Mi problema, un poco simple, es que cuando hago un Insert, coloco un 0 (cero) en el registro del campo NUM (Integer Not Null Primary Key). Así salta el Trigger, pero el visionado en el DBGrid es Cero (0). Y tengo que volver a ejecutar la orden del Query para que se coloque en número correcto (Y no el cero). No sé si me he expresado bien y se entiende. Yo no veo la necesidad de poner código para todo. Ya se sabe que aclara, pero los conceptos también tienen importancia. Saludos y gracias. bulc |
#6
|
||||
|
||||
¿Has probado haciendo un refresh?
|
#7
|
||||
|
||||
Sí, he probado Refresh
Lo he probado en TFDQuery. Pero no afecta al DBGrid. Este último componente recibe los datos del TDataSource. Miraré a ver si TDataSource acepta el método Refresh. Debería funcionar.
Veremos. bulc, gracias. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Generador de cubos en firebird | erickperez6 | Firebird e Interbase | 1 | 18-09-2014 17:36:40 |
Actualizar un valor en un generador desde un Sp | muli | Firebird e Interbase | 16 | 11-06-2008 14:56:05 |
Blanquear un generador autonumerico firebird | Velia | Firebird e Interbase | 4 | 21-08-2007 13:58:03 |
Error al actualizar tabla con generador | lafirma | Firebird e Interbase | 2 | 07-04-2004 00:55:21 |
que generador de informes es mas facil de usar con firebird/interbase? | raugadel | Impresión | 9 | 25-02-2004 02:40:48 |
|