In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Memdataset -> addnew/update - 1 attachment

Foro de Xailer profesional en español
Responder
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Memdataset -> addnew/update - 1 attachment

Mensaje por jose.luis »

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)Â
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9449
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Memdataset -> addnew/update - 1 attachment

Mensaje por ignacio »

José Luis,
Arreglado. Gracias.
Un saludo,
"José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
news:[email=Xns97D47E443589Cjoseluiscapelaicom@82.144.6.50...]Xns97D47E443589Cjoseluiscapelaicom@82.144.6.50...[/email]
> 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
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Memdataset -> addnew/update - 1 attachment

Mensaje por jose.luis »

Ignacio,
>
> Arreglado. Gracias.
>
Gracias a ti.
¿¿ Puedes mandarme el obj para seguir probando cosas ??
Saludos,
José Luis Capel
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9449
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Memdataset -> addnew/update - 1 attachment

Mensaje por ignacio »

José Luis,
Me temo que no te va a funcionar. Hay varios módulos afectados y actualmente
los cambios en toda la librería son importante y casi seguro que tendría que
dartelo todo. Espero que podamos tener una nueva prerelease muy pronto.
Un saludo,
"José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
news:[email=Xns97D577805B7ACjoseluiscapelaicom@82.144.6.50...]Xns97D577805B7ACjoseluiscapelaicom@82.144.6.50...[/email]
> Ignacio,
>
>>
>> Arreglado. Gracias.
>>
>
> Gracias a ti.
>
> ¿¿ Puedes mandarme el obj para seguir probando cosas ??
>
> Saludos,
> José Luis Capel
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder