Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   RecordCount en query (Interbase) (https://www.clubdelphi.com/foros/showthread.php?t=38103)

Pedro-Juan 02-12-2006 21:55:58

RecordCount en query (Interbase)
 
Hola a todo/as.:) Un saludo.

Estoy utilizando RecordCount de un query para obtener el número de registros que han sido seleccionados en la consulta SQL. (Interbase)
Algo así como esto:

nNumero := DataModule.Query.RecordCount;
Form.Label.Caption := IntToStr(nNumero);

Pero en algunos casos me da un resultado de -1, cuando hay registros seleccionados

He leído en la ayuda de Delphi que sólo se recomienda el uso de RecordCount en dBase y Paradox.

Conoceis alguna alternativa a RecordCount para interbase?

Muchas gracias.

roman 02-12-2006 22:20:09

Obtienes -1 porque el servidor no manda todos los registros de una vez, así que la componente no tiene forma de saber cuál es total de registros obtenidos hasta que no recorra todos. Desconozco si exista una manera mejor, pero siempre puedes lanzar una consulta previa del tipo

SELECT count()

con los mismso criterios (WHERE) que la cláusula original. Aunque representa una consulta extra, en general debe ser muy rápida.

// Saludos

vtdeleon 03-12-2006 03:10:53

Saludos

Tambien puedes invocar FetchAll del dataset (query.fetchall), aunque tiene el incoveniente de que va a traer todos los registro del servidor, pero si crees que traera pocos registros, pues no creo que afecte mucho el rendimiento.


La franja horaria es GMT +2. Ahora son las 15:01:12.

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