Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-07-2007
mayte mayte is offline
Registrado
 
Registrado: jul 2007
Posts: 3
Poder: 0
mayte Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 11-07-2007
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
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().
Responder Con Cita
  #3  
Antiguo 11-07-2007
mayte mayte is offline
Registrado
 
Registrado: jul 2007
Posts: 3
Poder: 0
mayte Va por buen camino
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.
Responder Con Cita
  #4  
Antiguo 11-07-2007
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
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:
Código SQL [-]
Select * from miTabla
where miCampo='algo'
Consulta contador:
Código SQL [-]
Select count(*) from miTabla
where miCampo='algo'
Responder Con Cita
  #5  
Antiguo 11-07-2007
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
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.
Responder Con Cita
  #6  
Antiguo 11-07-2007
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 21
Mick Va por buen camino
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
Responder Con Cita
  #7  
Antiguo 11-07-2007
mayte mayte is offline
Registrado
 
Registrado: jul 2007
Posts: 3
Poder: 0
mayte Va por buen camino
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.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 21:34:35.


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
Copyright 1996-2007 Club Delphi