Resultado SQL con mucho registros

16/03/2007 - 21:28 por agustin cot | Informe spam
Hola, como puedo solucionar el resultado, he probado con SELECT * TOP
1000 pero solo me lee los 1000 primeros y yo quiero ir leyendo todos los
registros, pues se hace muy lento, para mostar en un LitBox o DataGrid
es decir que vaya cargando segun vaya avanzando, espero que alguin le haya
sucedido.

ay, se me olvida el resultado ya viene filtrado con WHERE

Gracias
Agustin

Preguntas similare

Leer las respuestas

#6 agustin cot
17/03/2007 - 20:54 | Informe spam
Buena solución Alberto
Gracias
Agustin

"Alberto Poblacion"
escribió en el mensaje news:%
"agustin cot" wrote in message
news:
Gracias Hernan, seguire investigando
"Hernan" escribió en el mensaje
news:
Creo que la unica forma es manteniendo el cursor del Reader abierto
pero eso tiene sus propios inconvenientes.



Hay otra forma, que es ir sacando siempre el TOP x , siendo x el tamaño
que quieras mostrar en cada página, y añadir al Where una condición
adicional que haga que el primer registro sea el siguiente al último que
sacaste. Por ejemplo, si estás haciendo algo asi como "Select TOP 10 *
from Clientes Order by IdCliente", te guardas en una variable el último
IdCliente que te ha salido, y cuando te pidan la siguiente página haces un
"Select TOP 10 * from Clientes Where IdCliente>@UltimoIdCliente Order by
IdCliente".


Respuesta Responder a este mensaje
#7 Alfredo Crisostomo
18/03/2007 - 15:01 | Informe spam
Ese es un viejo problema conocido como paginacion. Busca en la web que debe
haber links al respecto.


"agustin cot" escribió en el mensaje
news:
Buena solución Alberto
Gracias
Agustin

"Alberto Poblacion"
escribió en el mensaje news:%
"agustin cot" wrote in message
news:
Gracias Hernan, seguire investigando
"Hernan" escribió en el mensaje
news:
Creo que la unica forma es manteniendo el cursor del Reader abierto
pero eso tiene sus propios inconvenientes.



Hay otra forma, que es ir sacando siempre el TOP x , siendo x el
tamaño que quieras mostrar en cada página, y añadir al Where una
condición adicional que haga que el primer registro sea el siguiente al
último que sacaste. Por ejemplo, si estás haciendo algo asi como "Select
TOP 10 * from Clientes Order by IdCliente", te guardas en una variable el
último IdCliente que te ha salido, y cuando te pidan la siguiente página
haces un "Select TOP 10 * from Clientes Where IdCliente>@UltimoIdCliente
Order by IdCliente".






Respuesta Responder a este mensaje
#8 agustin cot
18/03/2007 - 18:39 | Informe spam
Gracias Alfredo, pero todo me lo estais diciendo para ASP.NET y lo quiero
para WinForms C#
Gracias.


"Alfredo Crisostomo" escribió en el mensaje
news:umIc$
Ese es un viejo problema conocido como paginacion. Busca en la web que
debe haber links al respecto.


"agustin cot" escribió en el mensaje
news:
Buena solución Alberto
Gracias
Agustin

"Alberto Poblacion"
escribió en el mensaje news:%
"agustin cot" wrote in message
news:
Gracias Hernan, seguire investigando
"Hernan" escribió en el mensaje
news:
Creo que la unica forma es manteniendo el cursor del Reader abierto
pero eso tiene sus propios inconvenientes.



Hay otra forma, que es ir sacando siempre el TOP x , siendo x el
tamaño que quieras mostrar en cada página, y añadir al Where una
condición adicional que haga que el primer registro sea el siguiente al
último que sacaste. Por ejemplo, si estás haciendo algo asi como "Select
TOP 10 * from Clientes Order by IdCliente", te guardas en una variable
el último IdCliente que te ha salido, y cuando te pidan la siguiente
página haces un "Select TOP 10 * from Clientes Where
IdCliente>@UltimoIdCliente Order by IdCliente".










Respuesta Responder a este mensaje
#9 Alfredo Crisostomo
19/03/2007 - 00:50 | Informe spam
La interfaz no tiene nada que ver. Lo que vas a variar son los where's de
las sentencias SQL que enviarás al servidor de base de datos. La
presentación puede ser de variadas formas, el asunto es traer los datos
correctamente paginando los set's.
No debes mezclar los conceptos. Allí es que entra aquello de separar las
capas de la aplicación.




"agustin cot" escribió en el mensaje
news:
Gracias Alfredo, pero todo me lo estais diciendo para ASP.NET y lo quiero
para WinForms C#
Gracias.


"Alfredo Crisostomo" escribió en el mensaje
news:umIc$
Ese es un viejo problema conocido como paginacion. Busca en la web que
debe haber links al respecto.


"agustin cot" escribió en el mensaje
news:
Buena solución Alberto
Gracias
Agustin

"Alberto Poblacion"
escribió en el mensaje news:%
"agustin cot" wrote in message
news:
Gracias Hernan, seguire investigando
"Hernan" escribió en el mensaje
news:
Creo que la unica forma es manteniendo el cursor del Reader abierto
pero eso tiene sus propios inconvenientes.



Hay otra forma, que es ir sacando siempre el TOP x , siendo x el
tamaño que quieras mostrar en cada página, y añadir al Where una
condición adicional que haga que el primer registro sea el siguiente al
último que sacaste. Por ejemplo, si estás haciendo algo asi como
"Select TOP 10 * from Clientes Order by IdCliente", te guardas en una
variable el último IdCliente que te ha salido, y cuando te pidan la
siguiente página haces un "Select TOP 10 * from Clientes Where
IdCliente>@UltimoIdCliente Order by IdCliente".














Respuesta Responder a este mensaje
#10 agustin cot
19/03/2007 - 07:43 | Informe spam
Gracias Alfredo
Agustin
"Alfredo Crisostomo" escribió en el mensaje
news:%
La interfaz no tiene nada que ver. Lo que vas a variar son los where's de
las sentencias SQL que enviarás al servidor de base de datos. La
presentación puede ser de variadas formas, el asunto es traer los datos
correctamente paginando los set's.
No debes mezclar los conceptos. Allí es que entra aquello de separar las
capas de la aplicación.




"agustin cot" escribió en el mensaje
news:
Gracias Alfredo, pero todo me lo estais diciendo para ASP.NET y lo quiero
para WinForms C#
Gracias.


"Alfredo Crisostomo" escribió en el mensaje
news:umIc$
Ese es un viejo problema conocido como paginacion. Busca en la web que
debe haber links al respecto.


"agustin cot" escribió en el mensaje
news:
Buena solución Alberto
Gracias
Agustin

"Alberto Poblacion"
escribió en el mensaje news:%
"agustin cot" wrote in message
news:
Gracias Hernan, seguire investigando
"Hernan" escribió en el mensaje
news:
Creo que la unica forma es manteniendo el cursor del Reader abierto
pero eso tiene sus propios inconvenientes.



Hay otra forma, que es ir sacando siempre el TOP x , siendo x el
tamaño que quieras mostrar en cada página, y añadir al Where una
condición adicional que haga que el primer registro sea el siguiente
al último que sacaste. Por ejemplo, si estás haciendo algo asi como
"Select TOP 10 * from Clientes Order by IdCliente", te guardas en una
variable el último IdCliente que te ha salido, y cuando te pidan la
siguiente página haces un "Select TOP 10 * from Clientes Where
IdCliente>@UltimoIdCliente Order by IdCliente".


















Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida