FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Contar Registros
He investigado el RecordCount pero parece que no funciona con algunas BD, dentro del foro he visto que con COUNT en SQL se puede resolver, pero la pregunta es como igualar ese count a una variable para obtener el número de registros de una consulta.
Gracias por vuestra ayuda |
#2
|
||||
|
||||
Nota:Por ejemplo en Firebird para que te funcione RecordCount, tienes que situarte en el último registros. (Last). Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
Última edición por marcoszorrilla fecha: 15-07-2010 a las 23:03:43. |
#3
|
||||
|
||||
Otra opcion
En lo personal lo manejo asi, solo por costumbre ya que la respuesta de marcoszorrilla, es muy buena, esto es solo otra opcion , Saludos.
__________________
Nadie puede separar su fe de sus actos, o sus creencias de sus afanes |
#4
|
|||
|
|||
Hola,
El hecho que la proiedad RecordCount no retorne un valor correcto, puede ser por varios motivos. El primero y más común: la propiedad recordCount retorna un valor pero es menor al real. Esto es debido a que el componente de conexión abre un cursor en la base de datos, pero no accede a todos los registros, sino que los va cargando por bloques, a medida que va haciendo falta. En este caso, es cierto que haciendo un "last" se actualizará el valor de la propiedad RecordCount, ya que al hacer esto el cursor abierto en base de datos recorre la tabla entera y ya sabe cuantos registros hay. No obstante, esto puede ser una técnica arriesgada y muy lenta en tablas con muchos registros. Cuidado si piensas que tu tabla pude crecer mucho. Otro caso en el que la propiedad RecordCount no retorna un valor incorrecto es cuando usamos componentes uni-direccionales, como pueden ser los tSQLDataset de dbExpress. Un saludo. |
#5
|
||||
|
||||
esto funcionará?
yo utilizo lo siguiente para saber el numero de registros de una consulta:
Código Delphi [-]Query.SQL.Add('select ... where ...'); Query.Active:=False; Query.Active:=True; showmessage('Numero de registros: '+IntToStr(Query.RecordCount) ); utilizo SQL 8.00.194 Esta forma de consulta siempre me regresa el numero de registros correctos de la consulta. ¿puede fallar? si es asi, ¿alguien podria decirme como solucionarlo?
__________________
Para una vida sana hay que ocupar 30 de 24hrs diarias...Ups! |
#6
|
||||
|
||||
Creo que aqui se comenta lo que preguntas:
Saludos!
__________________
Nadie puede separar su fe de sus actos, o sus creencias de sus afanes |
#7
|
|||
|
|||
Hoal Jac fcc,
¿qué componentes utilizas? ¿cuantos registros suelen tener tus tablas? Lo normal es que si utilizas componentes que acceden directamente a base de datos, en ocasiones, te pueden engañar. Aunque esto depende también del nº de registros que tengan tus tablas. Si tienen pocos registros, entonces al abrir el cursor puede que tenga acceso a todos y por lo tanto RecordCount te de un valor correcto. Si tienes muchos, lo normal es que el cursor acceda los x primeros y no a todos, por lo tanto no sepa cuantos registros hay en total. Pero todo esto depende del tipo de componentes que utilices. Un saludo. |
#8
|
|||
|
|||
no es lo mas prolijo, table.last
antes del recordcount pero funciona |
#9
|
||||
|
||||
gracias manuc
los registros son de hasta 50 000. hasta el momento no han sobrepasado esta cantidad. Componenetes; uso TAdoQuery, TAdoTable y tambien ADoConnection. para el ejemplo que coloqué usé Adoconnection.
__________________
Para una vida sana hay que ocupar 30 de 24hrs diarias...Ups! |
#10
|
|||
|
|||
Hombre si con 50.000 no te ha dado problemas, no creo que vayas a tener problemas.
Lo normal es que al abrir un cursor se acceda a unos 25-50 registros. Lo he probado con ADO y no pasa esto, es decir, ADO sí da el nº de registros correcto. El porqué no lo, no se si será por SQL Server o por los componentes ADO. Un saludo. |
#11
|
||||
|
||||
que alivio
oh
quedo mas tranquilo entonces, . Ademas del componente, me parece que ayuda tener limpieza en los componentes (Abrir, cerrar, limpiar).
__________________
Para una vida sana hay que ocupar 30 de 24hrs diarias...Ups! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Contar registros de un filtro | jandres | SQL | 4 | 08-09-2016 18:25:32 |
Consulta SQL Contar registros | tebre | Varios | 4 | 26-03-2009 19:18:52 |
Contar registros de una tabla | sandra mendoza | Conexión con bases de datos | 4 | 14-10-2008 01:08:38 |
Contar registros de un MailMerge | Elenita | Servers | 0 | 31-10-2006 11:47:31 |
Contar Registros | Roilo | SQL | 10 | 18-07-2006 22:20:24 |
|