Página 1 de 1

Problema el refrescar TDBBrowse

Publicado: Vie Oct 12, 2007 1:36 pm
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.

Problema el refrescar TDBBrowse

Publicado: Lun Oct 15, 2007 10:00 am
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.
>

Problema el refrescar TDBBrowse

Publicado: Mar Oct 16, 2007 4:57 am
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)Â

Problema el refrescar TDBBrowse

Publicado: Mar Oct 16, 2007 10:08 am
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.
>
>