Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Simplemente mostrar datos (https://www.clubdelphi.com/foros/showthread.php?t=3431)

dabas 06-09-2003 01:24:32

Simplemente mostrar datos
 
Estoy experimentando con interbase y tengo lo siguiente:

Tengo un TIBdatabase, TIBquery, TIBtransaction, todo enlazado que parce que va bien.

En los parametros de tibdatabase puse user_name=.... y password=....

Bien, activo la conexion y se puede ver todos los datos en un TBDgrid.

Pero yo quiero mostrar los datos en un TListView con ViewStyle = vsReport, con sus columnas bien puestas.

Entonces lo que ocurre la propiedad TIBquery.recordcount es =1 habiendo mas de 500 registros. ¿Porque?

Gracias por vuestro interes.

kinobi 06-09-2003 08:24:50

Hola,

Cita:

Posteado originalmente por dabas

Entonces lo que ocurre la propiedad TIBquery.recordcount es =1 habiendo mas de 500 registros. ¿Porque?

en los Dataset's IBX, la propiedad RecordCount no devuelve el número de registro que tiene el Dataset, sino el número de registros recuperados por el mismo desde el cursor que lo "alimenta" en el servidor. Cuando abres tu IBQuery, recupera un sólo registro, de ahí que marque 1 (marcaría 0 si la consulta no devolviese registros). Cuando empieces a moverte por el Dataset (p. ej. con el método Next), verás como se va incrementando la propiedad RecordCount, en función del número de registros que se traiga desde el servidor.

Conclusión: RecordCount no puede ser utilizado para conocer el número de registros que devuelve la consulta. Para saberlo, no queda más remedio que echar mano de una consulta paralela del tipo SELECT COUNT(*) ... o SELECT COUNT(<campo>) ...

Saludos.

dabas 06-09-2003 19:43:47

Bien, todo listo, pero ahora ocurre otra cosa.

Si realizo una consulta de actualizacion con el TIBquery como hago para ver los datos nuevos. No hace nada si abro una consulta Select.
Si cierro el pograma y lo vuelvo a abrir se ve bien todo.
Es que eso de las transacciones no me entero de nada.


Aparte de eso tambien me interesa preguntar, que al cargar registros uno a uno en un TListView por ejemplo se ve el dibujado del componente ralentizado, medio parpadeante con cada registro que se añade, ¿como se puede mejorar o que alternativas proponeis?


Un saludo a todos.

kinobi 07-09-2003 10:16:08

Hola,

Cita:

Posteado originalmente por dabas
Si realizo una consulta de actualizacion con el TIBquery como hago para ver los datos nuevos. No hace nada si abro una consulta Select.
Si cierro el pograma y lo vuelvo a abrir se ve bien todo.

Tal vez tenga relación con lo discutido el otro día en este hilo ...

http://www.clubdelphi.com/foros/show...&threadid=3381

Cita:

Posteado originalmente por dabas
Es que eso de las transacciones no me entero de nada.
En mi página personal puedes descargarte un documento que escribí hace tiempo sobre el tema ...

http://www.clubdelphi.com/users/kinobi/


Cita:

Posteado originalmente por dabas
Aparte de eso tambien me interesa preguntar, que al cargar registros uno a uno en un TListView por ejemplo se ve el dibujado del componente ralentizado, medio parpadeante con cada registro que se añade, ¿como se puede mejorar o que alternativas proponeis?
Te recomiendo la lectura de la guía de estilo del foro (http://www.clubdelphi.com/foros/guiaestilo.php), especialmente el punto siguiente (segundo apartado) ...
http://www.clubdelphi.com/foros/guiaestilo.php#eva01

Saludos.

dabas 09-09-2003 15:18:29

Si, ya va todo bien era eso del read commited en TIBtransaction.

...y ya se que no puedo preguntar temas diferentes, tomo nota.

Hasta otra


La franja horaria es GMT +2. Ahora son las 19:22:13.

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