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.

Problema el refrescar TDBBrowse

Foro de Xailer profesional en español
Responder
Avatar de Usuario
Carlos Ortiz
Mensajes: 873
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

Problema el refrescar TDBBrowse

Mensaje por Carlos Ortiz »

Buen día,
estoy haciendo pruebas con PostGres via ODBC y van bien, el inconveniente es
luego de insertar un registro con AddNew no me actualiza la grilla de datos
que tengo en pantalla, tengo que hacer una manganeta para que vuelva a leer
la tabla y ver el regsitro insertado, pero al hacer esto quedo en el Top y
no en el registro insertado.
La cierro y la abro de nuevo y se ven todos los registros
IF ::Opcion="A"
::oOdbcDataSet1:lOpen:=.f.
::oOdbcDataSet1:lOpen:=.t.
ENDIF
He probado con
registroNuevo:=::oOdbcDataSet1:Execute("SELECT last_value from
profesionales_idprofesional_seq")
como para que me retorne el nuevo ID y meterlo en la vista pero no me ha
funcionado.
La velocidad es buena de respuesta entre Xailer y el motor solo que al estar
abriendo y cerrado la tabla para releerla tiene 50.000 registros y demora
como 10 segundos en actualizar la vista.
Muchas gracias.
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9459
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Problema el refrescar TDBBrowse

Mensaje por ignacio »

Carlos,
No es necesario realizar un nuevo SELECT para ver el registro recien añadido
si lo ha realizado mediante AddNew() y no utilizando la instrucción SQL
INSERT. Mande un ejemplo.
Le recomiendo que acceda a PostGres a traves de ADO por ODBC.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Carlos Ortiz" <cortizassist@hotmail.com> escribió en el mensaje
news:[email=470f5c37@ozsrv2.ozlan.local...]470f5c37@ozsrv2.ozlan.local...[/email]
> Buen día,
>
> estoy haciendo pruebas con PostGres via ODBC y van bien, el inconveniente
> es luego de insertar un registro con AddNew no me actualiza la grilla de
> datos que tengo en pantalla, tengo que hacer una manganeta para que vuelva
> a leer la tabla y ver el regsitro insertado, pero al hacer esto quedo en
> el Top y no en el registro insertado.
>
> La cierro y la abro de nuevo y se ven todos los registros
>
> IF ::Opcion="A"
> ::oOdbcDataSet1:lOpen:=.f.
> ::oOdbcDataSet1:lOpen:=.t.
> ENDIF
>
> He probado con
>
> registroNuevo:=::oOdbcDataSet1:Execute("SELECT last_value from
> profesionales_idprofesional_seq")
>
> como para que me retorne el nuevo ID y meterlo en la vista pero no me ha
> funcionado.
>
> La velocidad es buena de respuesta entre Xailer y el motor solo que al
> estar abriendo y cerrado la tabla para releerla tiene 50.000 registros y
> demora como 10 segundos en actualizar la vista.
>
> Muchas gracias.
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
Carlos Ortiz
Mensajes: 873
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

Problema el refrescar TDBBrowse

Mensaje por Carlos Ortiz »

Va ejemplo completo,
Si hace falta la base de postgres te la mando por mail.
Muchas gracias.


Attached files DbfTest.zip (27.8 KB)Â
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9459
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Problema el refrescar TDBBrowse

Mensaje por ignacio »

Carlos,
Lo siento pero no admitimos ejemplos realizados con operaciones de copiar,
pegar y comentar de sus propios programas. Además es imposible probrarlo por
faltar la librería 'LibAlb.lib' y menos aún sin la base de datos.
No obstante, errores vistos en su código:
- Llamadas a TOdbcDataset:UpdateControls() no debería ser necesario
- oBrrose:Refresh( .T. ) provoca un refresco completo innecesario que varía
la posición de la barra activa del browse a la posición 1.
- Es completamente innecesario cerrar y reabrir el dataset en línea 369
No tenemos Postgres instalado. Si quiere realizar un pequeño ejemplo
apoyandose en una tabla de MySQL y enviandonos igualmente un backup de dicha
base de datos estaremos encantados de echarle un vistazo.
Un saludo
Nota: Le recomiendo igualmente que utiliza ADO sobre ODBC para conectarse
con Postgress.
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Carlos Ortiz" <cortizassist@hotmail.com> escribió en el mensaje
news:[email=471428ae@ozsrv2.ozlan.local...]471428ae@ozsrv2.ozlan.local...[/email]
> Va ejemplo completo,
> Si hace falta la base de postgres te la mando por mail.
>
> Muchas gracias.
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder