FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
RecordCount me devuelve -1
Hola a tod@s:
Trabajo con Delphi 6 y accedo a través de BDE a una base de datos Access. Me gustaría ayuda con una consulta a mi base de datos. Tras preparar la consulta con instrucciones: Consulta.SQL.Add('select ..'); Consulta.SQL.Add('from ..'); Consulta.SQL.Add('where ..'); La ejecuto: Consulta.Prepare; Consulta.Open; ShowMessage('Registros: '+IntToStr(Consulta.RecordCount)); El mensaje es Registros: -1 Pero dispongo de un TDBGrid para mostrar el resultado de la consulta y curiosamente ahí si se muestran los registros seleccionados. Mi duda es porqué no funciona correctamente la propiedad RecordCount. Si alguien tiene idea de qué está pasando, me ayudaría mucho. Gracias y saludos |
#2
|
||||
|
||||
RecordCount no es fiable para obtener el número de tuplas de la consulta. Existen muchas ocasiones en las que devolverá un número incorrecto o ningún número.
Si necesitas el número exacto te recomiento que cambies esa instrucción por otra consulta con un count(). |
#3
|
|||
|
|||
Muchas gracias por la información.
No entiendo la razón por la que una propiedad diseñada al efecto puede fallar, ¿será que no estoy haciendo las cosas correctamente?. En cualquier caso, no sé cómo reemplazar dicha instrucción por un count() que no trabaja con consultas. |
#4
|
||||
|
||||
En consultas normales RecordCount funciona bien, pero en cuanto la consulta tiene "joins" o "unions" a mi me ha dado problemas.
Lo que hago es crear otra consulta clónica de la primera, algo así: Consulta original: Consulta contador:
|
#5
|
||||
|
||||
Aclaración: count() debes aplicarlo sobre el campo clave de la consulta y si ese campo es índice mejor que mejor, así será más óptima.
|
#6
|
|||
|
|||
RecordCount no es que falle o no sea fiable, simplemente no es aplicable cuando nos conectamos a una base de datos cliente servidor o digamos que tiene un significado distinto, esto ha sido respondido mil veces en estos foros, por ejemplo:
http://www.clubdelphi.com/foros/showthread.php?t=6580 Saludos |
#7
|
|||
|
|||
Gracias por la información, Kuan-yiu y Mick.
Había revisado ya otras dudas y respuestas referentes a mi consulta y todo aclarado. Para evitar problemas, evitaré usar RecordCount. Saludos y hasta próximas dudas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema con un RecordCount | Lucciano | Conexión con bases de datos | 4 | 07-04-2006 15:40:54 |
RecordCount Vs Count (SQL) | vtdeleon | Conexión con bases de datos | 8 | 10-10-2005 08:10:28 |
RecordCount vs PacketRecords | cesar_picazo | Conexión con bases de datos | 1 | 02-04-2005 21:26:57 |
RecordCount en Interbase | ingacg | Conexión con bases de datos | 2 | 13-01-2004 21:20:43 |
Query RecordCount | cone220 | Conexión con bases de datos | 3 | 07-07-2003 22:16:30 |
|