![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
RecordCount Vs Count (SQL)
Saludos
IBx,Firebird,D7 Algo curioso que aún no encuentro explicación: Tengo un IBDataset con la sgte sentencia: La cual podría arrojar Código:
Codemp Nombre 0001 Fulano 0002 Suntano .... .... Con RecordCount me dice que solo tengo 10, pero si hago una consula SQL con Count, esta me dice que tengo los 50 registros.
Me he dado cuenta que si arreglo el JvDBGrid a que me muestre 5, 15 o 8 registro, el RecorCount me arroja esa misma cantidad qeu muestro. Alguién me puede explicar este comportamiento un tanto extraño. Nt:Tengo otro formulario con IBDataSet y no pasa lo mismo, sumamente extraño esto ![]()
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#2
|
||||
|
||||
select count(codigo) from tbclientes
Esto te devuelve el número de registros de la tabla. Lo otro te devuelve el número de registros que han sido "traidos" en ese momento, si haces un "avanza página" (page dow), te traerá otros tantos para rellenar ese dbgrid y la cantidad de "recordcount" te devolverá los regitros de antes más los de ahora, sin embargo, si vas al último verás que te devuelve el número total de registros de la tabla.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
||||
|
||||
Saludos
Cita:
Cita:
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#4
|
||||
|
||||
Puede ser que ese tipo de grid lea todos los registros para luego tenerlo en memoria y poder ordenar por cualquier campo, filtar, etc. Eso es algo que hacen algunos componentes dbgrid, algo que no es muy recomendable, pero lo hacen.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
Saludos
También con un DBGrid sucede lo mismo, si no tnego DBGRID, el recordcount devuelve 1. //No me importa usar Count (es mejor ![]()
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! Última edición por vtdeleon fecha: 09-10-2005 a las 21:51:28. |
#6
|
||||
|
||||
Alomejor alguna propiedad del dataset, ¿seguro que son exactamente iguales?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#7
|
||||
|
||||
Segurísimo
Lo último que he hecho es copiar el mismo componente al otro, y tiene el mismo comportamiento. En que afectara el formultario a un Dataset? ![]()
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#8
|
||||
|
||||
Saludos
Al romperme la cabeza con el teclado (por los abundantes códigos), creo que lo que debe haber algún método(IsEmpty, Prerare o algo parecido) que recorre el DataSet y entonces me dá el total de registro real. En conclusión, Casimiro Notevi tiene razón ![]() Gracias Casimiro
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#9
|
|||
|
|||
Cita:
Cita:
|
![]() |
|
|
![]() |
|