Es típico que en algún momento quieras mostrar los registros guardados en una base de datos al cliente de la aplicación. Pero, ¿qué pasa cuando estos registros son demasiados para ser mostrados de una sola vez? Muchos problemas pueden ocurrir si intentas mostrar demasiados registros de una vez:
- Consumir mucho ancho de banda de manera innecesaria
- El cliente tendrá que esperar mucho más tiempo para obtener los resultados de su consulta
- Si el cliente está viendo la página desde su smartphone, es posible que este se ponga bastante lento
- El cliente se puede sentir abrumado por tanta información cuando, probablemente, sólo quería verificar un dato pequeño
Para solucionar este problema recurrimos a la fragmentación de los resultados de la consulta, o paginación, en una sola palabra. Paginación es dividir en páginas los resultados de una consulta. Es lo mismo que ves en el buscador de Google cuando haces una búsqueda, ellos dividen el resultado en páginas si la consulta devuelve un número de datos bastante elevado.
En este artículo implementaremos la paginación de dos formas: con ADO.NET y con Entity Framework. Usaremos SQL Server como motor de bases de datos. Pero descuida, aún si no programas en c#/vb.net ni usas ASP.NET/Entity Framework, le puedes sacar provecho al código de este artículo (o al menos a su lógica) y hacer paginación en php y mysql, por ejemplo. Solo es cuestión de ver los aspectos claves del código y aplicarlos a tu entorno.