Memdataset -> addnew/update - 1 attachment
Publicado: Mié May 31, 2006 12:24 pm
Hola,
Supongo que debo tener algún concepto confundido. Según leo de la ayuda
de Xailer respecto a los dataset/datasources:
<<<---
El TDataset de Xailer mejora sustancialmente este esquema incorporando un
sistema que permite que los DATAs con nombre de campo se comporten bien
como datos provenientes de la propia tabla sin tener que hacer ningún
tipo de 'Load()' o bien se comporten como 'buffers' que permiten realizar
operaciones de edición y altas a través de ellos. Para conseguir dicha
funcionalidad todas las operaciones de alta y edición se hacen en dos
fases. En la primera fase se indica que el TDataset está en modo Edición
bien a través de un alta (método AdNew()) o de una edición (método Edit
()). En dicho momento los 'buffers' recogen el valor actual del campo o
se ponen a blancos (en caso de alta) y además los DATAs con nombre de
campo ya no apuntan a los campos directamente sino a los 'buffers'. Por
último para salir del modo de Edición tan sólo hay que llamar al método
Update() para salvar los cambios o Cancel() para cancelarlos. En dicho
momento los DATAs con nombres de campos pasan a apuntar de nuevo a los
campos de la tabla.
--->>>
Entonces, por lo que he podido entender, el código para hacer un alta
sería algo así:
::oMemDataset1:AddNew()
::oMemDataSet1:Micampo1 := "Valor1"
::oMemDataSet1:Micampo2 := "Valor2"
::oMemDataSet1:Update()
Sin embargo, en mis pruebas me aparecen los registros añadidos de esta
forma en blanco. ¿Me he dajado alguna data tipo ::lBuffer := .F. o algo
por el estilo?
Os dejo un proyecto.
Saludos y gracias por vuestro tiempo.
José Luis Capel
Aicom Global System, S.L.
Valencia - España
Attached files pruebas.zip (4.5 KB)Â
Supongo que debo tener algún concepto confundido. Según leo de la ayuda
de Xailer respecto a los dataset/datasources:
<<<---
El TDataset de Xailer mejora sustancialmente este esquema incorporando un
sistema que permite que los DATAs con nombre de campo se comporten bien
como datos provenientes de la propia tabla sin tener que hacer ningún
tipo de 'Load()' o bien se comporten como 'buffers' que permiten realizar
operaciones de edición y altas a través de ellos. Para conseguir dicha
funcionalidad todas las operaciones de alta y edición se hacen en dos
fases. En la primera fase se indica que el TDataset está en modo Edición
bien a través de un alta (método AdNew()) o de una edición (método Edit
()). En dicho momento los 'buffers' recogen el valor actual del campo o
se ponen a blancos (en caso de alta) y además los DATAs con nombre de
campo ya no apuntan a los campos directamente sino a los 'buffers'. Por
último para salir del modo de Edición tan sólo hay que llamar al método
Update() para salvar los cambios o Cancel() para cancelarlos. En dicho
momento los DATAs con nombres de campos pasan a apuntar de nuevo a los
campos de la tabla.
--->>>
Entonces, por lo que he podido entender, el código para hacer un alta
sería algo así:
::oMemDataset1:AddNew()
::oMemDataSet1:Micampo1 := "Valor1"
::oMemDataSet1:Micampo2 := "Valor2"
::oMemDataSet1:Update()
Sin embargo, en mis pruebas me aparecen los registros añadidos de esta
forma en blanco. ¿Me he dajado alguna data tipo ::lBuffer := .F. o algo
por el estilo?
Os dejo un proyecto.
Saludos y gracias por vuestro tiempo.
José Luis Capel
Aicom Global System, S.L.
Valencia - España
Attached files pruebas.zip (4.5 KB)Â