Porque fibClientDataset no regresa el registro actual ????
Buen dia compañeros, estoy empezando a cascarear ó a probar los fibClientDataset de los fibPlus, con el unico objetivo de que en estos componentes tiene una herramienta muy buena de las tantas que tiene, que es la de poder crear campos AGREGADOS, hasta aqui vamos bien, el problema viene cuando quiero tomar el registro actual, este componente lo uso para un detalle, del cual tengo como llave primaria un campo INDICE de tipo entero, donde tiene que tomar un numero diferente en cada registro, he realizado pruebas en los diferentes eventos del fibClientDataset Beforepost, Afterpost, BeforeInsert y AfterInsert, ejemplo:
Y todo el tiempo toma el dato -1, checando en el fuente DB.pas, miro alro raro en las 2 funciones con que se relacionan esta propiedad: :eek:
No quiero usar los memoryData para tomar una copia del fibclientdataset y posteriormente regresarme la posición del registro, quiero que el propio fibClientDataset lo haga, espero alguien me pueda orientar ó ayudar con cualquier comentario al respecto.... |
En realidad, tienes que mirar la implementación de los FIbPlus
function TFibClientDataSet.GetRecNo: Integer; o bien, si el origen de datos es un TIBDataset, pues la implementación de ellos que redefinen (override) el comportamiento de los TDatasets de delphi. En todo caso, creo que yendo al último registro de tu dataset, después te dará el valor correcto. Es un tema recurrente en todos los componentes c/s. Saludos |
Cita:
Creo que no me explique bien LEPE, cuando digo que no me funciona el RECNO, es por que la tabla del clientdataset esta vacia, es decir, voy a meter registros nuevos a un campo en este caso lo llamo INDICE de tipo entero, lo tengo como llave primaria, por lo tanto en los eventos Before,After Insert y Post del fibClientDataset ya le puse la asignación a ese campo del RECNO y me devuelve en cada registro el valor -1, por lo tanto me marca error de PK al guardar, con los Dataset's del fibPlus si funcionan, se me hace raro que con los ClientDataset no se pueda.... |
Cita:
|
La franja horaria es GMT +2. Ahora son las 14:44:38. |
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