Est-ce que la fonction "limit" permettant de sélectionner qu'une partie des
enregistrement existe et peut-être utiliser avec un OleDbDataReader en
vb.net?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ambassadeur Kosh
je ne connais pas cette fonction, mais bon, en SQL, TOP 123 selectionne les 123 premiers éléments d'une clause. cela permet de résoudre le probleme indépendament du client utilisé derriere.
"patrickrgn" a écrit dans le message de news:
Bonjour
Est-ce que la fonction "limit" permettant de sélectionner qu'une partie des enregistrement existe et peut-être utiliser avec un OleDbDataReader en vb.net?
Merci
je ne connais pas cette fonction, mais bon, en SQL, TOP 123 selectionne les
123 premiers éléments d'une clause. cela permet de résoudre le probleme
indépendament du client utilisé derriere.
"patrickrgn" <patrickrgn@discussions.microsoft.com> a écrit dans le message
de news: 3B198AAB-177A-4817-B9CC-75932CB236EC@microsoft.com...
Bonjour
Est-ce que la fonction "limit" permettant de sélectionner qu'une partie
des
enregistrement existe et peut-être utiliser avec un OleDbDataReader en
vb.net?
je ne connais pas cette fonction, mais bon, en SQL, TOP 123 selectionne les 123 premiers éléments d'une clause. cela permet de résoudre le probleme indépendament du client utilisé derriere.
"patrickrgn" a écrit dans le message de news:
Bonjour
Est-ce que la fonction "limit" permettant de sélectionner qu'une partie des enregistrement existe et peut-être utiliser avec un OleDbDataReader en vb.net?
Merci
patrickrgn
Et comment fait-on pour selectionner les élément de 100 à 150?
"Ambassadeur Kosh" a écrit :
je ne connais pas cette fonction, mais bon, en SQL, TOP 123 selectionne les 123 premiers éléments d'une clause. cela permet de résoudre le probleme indépendament du client utilisé derriere.
"patrickrgn" a écrit dans le message de news: > Bonjour > > Est-ce que la fonction "limit" permettant de sélectionner qu'une partie > des > enregistrement existe et peut-être utiliser avec un OleDbDataReader en > vb.net? > > Merci
Et comment fait-on pour selectionner les élément de 100 à 150?
"Ambassadeur Kosh" a écrit :
je ne connais pas cette fonction, mais bon, en SQL, TOP 123 selectionne les
123 premiers éléments d'une clause. cela permet de résoudre le probleme
indépendament du client utilisé derriere.
"patrickrgn" <patrickrgn@discussions.microsoft.com> a écrit dans le message
de news: 3B198AAB-177A-4817-B9CC-75932CB236EC@microsoft.com...
> Bonjour
>
> Est-ce que la fonction "limit" permettant de sélectionner qu'une partie
> des
> enregistrement existe et peut-être utiliser avec un OleDbDataReader en
> vb.net?
>
> Merci
Et comment fait-on pour selectionner les élément de 100 à 150?
"Ambassadeur Kosh" a écrit :
je ne connais pas cette fonction, mais bon, en SQL, TOP 123 selectionne les 123 premiers éléments d'une clause. cela permet de résoudre le probleme indépendament du client utilisé derriere.
"patrickrgn" a écrit dans le message de news: > Bonjour > > Est-ce que la fonction "limit" permettant de sélectionner qu'une partie > des > enregistrement existe et peut-être utiliser avec un OleDbDataReader en > vb.net? > > Merci
Ambassadeur Kosh
ben on fait TOP 150, et on balance les 100 premiers au reader. c'est moins lourd que de faire un SELECT de la totalité et de compter ensuite avec le reader.
si c'est pour faire de la page qui affiche les enregistrements par paquets de N, c'est pas la bonne façon de faire.
et sinon, quel interet ça a de selectionner ce genre de choses ? d'habitude, le critere de selection porte plutot sur une propriété ou une qualité des objets, pas sur une position (qui plus est peu être aléatoire sans un ORDER BY)...
"patrickrgn" a écrit dans le message de news:
Et comment fait-on pour selectionner les élément de 100 à 150?
"Ambassadeur Kosh" a écrit :
je ne connais pas cette fonction, mais bon, en SQL, TOP 123 selectionne les 123 premiers éléments d'une clause. cela permet de résoudre le probleme indépendament du client utilisé derriere.
"patrickrgn" a écrit dans le message de news: > Bonjour > > Est-ce que la fonction "limit" permettant de sélectionner qu'une partie > des > enregistrement existe et peut-être utiliser avec un OleDbDataReader en > vb.net? > > Merci
ben on fait TOP 150, et on balance les 100 premiers au reader.
c'est moins lourd que de faire un SELECT de la totalité et de compter
ensuite avec le reader.
si c'est pour faire de la page qui affiche les enregistrements par paquets
de N, c'est pas la bonne façon de faire.
et sinon, quel interet ça a de selectionner ce genre de choses ? d'habitude,
le critere de selection porte plutot sur une propriété ou une qualité des
objets, pas sur une position (qui plus est peu être aléatoire sans un ORDER
BY)...
"patrickrgn" <patrickrgn@discussions.microsoft.com> a écrit dans le message
de news: 1C158B33-1E5F-4398-8086-C794ECE7E7DC@microsoft.com...
Et comment fait-on pour selectionner les élément de 100 à 150?
"Ambassadeur Kosh" a écrit :
je ne connais pas cette fonction, mais bon, en SQL, TOP 123 selectionne
les
123 premiers éléments d'une clause. cela permet de résoudre le probleme
indépendament du client utilisé derriere.
"patrickrgn" <patrickrgn@discussions.microsoft.com> a écrit dans le
message
de news: 3B198AAB-177A-4817-B9CC-75932CB236EC@microsoft.com...
> Bonjour
>
> Est-ce que la fonction "limit" permettant de sélectionner qu'une partie
> des
> enregistrement existe et peut-être utiliser avec un OleDbDataReader en
> vb.net?
>
> Merci
ben on fait TOP 150, et on balance les 100 premiers au reader. c'est moins lourd que de faire un SELECT de la totalité et de compter ensuite avec le reader.
si c'est pour faire de la page qui affiche les enregistrements par paquets de N, c'est pas la bonne façon de faire.
et sinon, quel interet ça a de selectionner ce genre de choses ? d'habitude, le critere de selection porte plutot sur une propriété ou une qualité des objets, pas sur une position (qui plus est peu être aléatoire sans un ORDER BY)...
"patrickrgn" a écrit dans le message de news:
Et comment fait-on pour selectionner les élément de 100 à 150?
"Ambassadeur Kosh" a écrit :
je ne connais pas cette fonction, mais bon, en SQL, TOP 123 selectionne les 123 premiers éléments d'une clause. cela permet de résoudre le probleme indépendament du client utilisé derriere.
"patrickrgn" a écrit dans le message de news: > Bonjour > > Est-ce que la fonction "limit" permettant de sélectionner qu'une partie > des > enregistrement existe et peut-être utiliser avec un OleDbDataReader en > vb.net? > > Merci
patrickrgn
Justement, je veux m'en servir pour un système de page pour un datagridview. Sachant que la requete est assez lourde avec des recherches dans plusieurs tables et que le nombre d'enregistrmentqui en ressort peut dépasser les 10000, le temps de chargement peut devenir long. Mais j'ai peut-être trouvé un solution qui n'est pas parfaite mais bon... En fait lors du premier affichage, je stocke dans un premier temps tous mes enregistrements dans un tableau déclaré en public puis j'affiche avec une boucle for les lignes dont j'ai besoin (ex de 150 à 200). Quant on change de page, il n'y a plus besoin de refaire la requete mais simplement de lire les infos stockées dans le tableau toujours avec la boucle for.
Mais ça serait plus simple avec LIMIT 150, 200 en sql
"Ambassadeur Kosh" a écrit :
ben on fait TOP 150, et on balance les 100 premiers au reader. c'est moins lourd que de faire un SELECT de la totalité et de compter ensuite avec le reader.
si c'est pour faire de la page qui affiche les enregistrements par paquets de N, c'est pas la bonne façon de faire.
et sinon, quel interet ça a de selectionner ce genre de choses ? d'habitude, le critere de selection porte plutot sur une propriété ou une qualité des objets, pas sur une position (qui plus est peu être aléatoire sans un ORDER BY)...
"patrickrgn" a écrit dans le message de news: > Et comment fait-on pour selectionner les élément de 100 à 150? > > > "Ambassadeur Kosh" a écrit : > >> je ne connais pas cette fonction, mais bon, en SQL, TOP 123 selectionne >> les >> 123 premiers éléments d'une clause. cela permet de résoudre le probleme >> indépendament du client utilisé derriere. >> >> "patrickrgn" a écrit dans le >> message >> de news: >> > Bonjour >> > >> > Est-ce que la fonction "limit" permettant de sélectionner qu'une partie >> > des >> > enregistrement existe et peut-être utiliser avec un OleDbDataReader en >> > vb.net? >> > >> > Merci >> >> >>
Justement, je veux m'en servir pour un système de page pour un datagridview.
Sachant que la requete est assez lourde avec des recherches dans plusieurs
tables et que le nombre d'enregistrmentqui en ressort peut dépasser les
10000, le temps de chargement peut devenir long.
Mais j'ai peut-être trouvé un solution qui n'est pas parfaite mais bon...
En fait lors du premier affichage, je stocke dans un premier temps tous mes
enregistrements dans un tableau déclaré en public puis j'affiche avec une
boucle for les lignes dont j'ai besoin (ex de 150 à 200). Quant on change de
page, il n'y a plus besoin de refaire la requete mais simplement de lire les
infos stockées dans le tableau toujours avec la boucle for.
Mais ça serait plus simple avec LIMIT 150, 200 en sql
"Ambassadeur Kosh" a écrit :
ben on fait TOP 150, et on balance les 100 premiers au reader.
c'est moins lourd que de faire un SELECT de la totalité et de compter
ensuite avec le reader.
si c'est pour faire de la page qui affiche les enregistrements par paquets
de N, c'est pas la bonne façon de faire.
et sinon, quel interet ça a de selectionner ce genre de choses ? d'habitude,
le critere de selection porte plutot sur une propriété ou une qualité des
objets, pas sur une position (qui plus est peu être aléatoire sans un ORDER
BY)...
"patrickrgn" <patrickrgn@discussions.microsoft.com> a écrit dans le message
de news: 1C158B33-1E5F-4398-8086-C794ECE7E7DC@microsoft.com...
> Et comment fait-on pour selectionner les élément de 100 à 150?
>
>
> "Ambassadeur Kosh" a écrit :
>
>> je ne connais pas cette fonction, mais bon, en SQL, TOP 123 selectionne
>> les
>> 123 premiers éléments d'une clause. cela permet de résoudre le probleme
>> indépendament du client utilisé derriere.
>>
>> "patrickrgn" <patrickrgn@discussions.microsoft.com> a écrit dans le
>> message
>> de news: 3B198AAB-177A-4817-B9CC-75932CB236EC@microsoft.com...
>> > Bonjour
>> >
>> > Est-ce que la fonction "limit" permettant de sélectionner qu'une partie
>> > des
>> > enregistrement existe et peut-être utiliser avec un OleDbDataReader en
>> > vb.net?
>> >
>> > Merci
>>
>>
>>
Justement, je veux m'en servir pour un système de page pour un datagridview. Sachant que la requete est assez lourde avec des recherches dans plusieurs tables et que le nombre d'enregistrmentqui en ressort peut dépasser les 10000, le temps de chargement peut devenir long. Mais j'ai peut-être trouvé un solution qui n'est pas parfaite mais bon... En fait lors du premier affichage, je stocke dans un premier temps tous mes enregistrements dans un tableau déclaré en public puis j'affiche avec une boucle for les lignes dont j'ai besoin (ex de 150 à 200). Quant on change de page, il n'y a plus besoin de refaire la requete mais simplement de lire les infos stockées dans le tableau toujours avec la boucle for.
Mais ça serait plus simple avec LIMIT 150, 200 en sql
"Ambassadeur Kosh" a écrit :
ben on fait TOP 150, et on balance les 100 premiers au reader. c'est moins lourd que de faire un SELECT de la totalité et de compter ensuite avec le reader.
si c'est pour faire de la page qui affiche les enregistrements par paquets de N, c'est pas la bonne façon de faire.
et sinon, quel interet ça a de selectionner ce genre de choses ? d'habitude, le critere de selection porte plutot sur une propriété ou une qualité des objets, pas sur une position (qui plus est peu être aléatoire sans un ORDER BY)...
"patrickrgn" a écrit dans le message de news: > Et comment fait-on pour selectionner les élément de 100 à 150? > > > "Ambassadeur Kosh" a écrit : > >> je ne connais pas cette fonction, mais bon, en SQL, TOP 123 selectionne >> les >> 123 premiers éléments d'une clause. cela permet de résoudre le probleme >> indépendament du client utilisé derriere. >> >> "patrickrgn" a écrit dans le >> message >> de news: >> > Bonjour >> > >> > Est-ce que la fonction "limit" permettant de sélectionner qu'une partie >> > des >> > enregistrement existe et peut-être utiliser avec un OleDbDataReader en >> > vb.net? >> > >> > Merci >> >> >>
Ambassadeur Kosh
pour moi, ce mécanisme LIMIT x,y n'est pas adapté. entre la production de deux pages, ta table a bougé (nouvelles lignes, lignes supprimées). ces entiers x et y ne représentent rien de stable, et de fiable.
une façon AMHA plus compliant de faire est un SELECT id FROM table WHERE criteria, et la, tu recuperes 10000 ids. résultat que tu gardes au chaud dans ton viewstate, et que tu utilises ensuite pour construire tes pages à l'aide de SELECT field1 , field2... FROM table WHERE id = @id.
pour les données qui disparaissent en route, faut choisir entre une représentation visuelle de "n'existe plus" ou une suppression dans la liste des id. pour les données qui apparaissent en route, faut voir. les faire apparaitre revient à dire "naviguer = updater". moi je dirais "on fait pas" pour le contenu qui change, ben on peut pas avoir le beurre et l'argent du beurre.
et sinon, une requete qui ramene 100000 lignes regroupées par 50 dans des pages, culturellement, en mode deconnecté, ça se fait pas trop, vois tu.
"patrickrgn" a écrit dans le message de news:
Justement, je veux m'en servir pour un système de page pour un datagridview. Sachant que la requete est assez lourde avec des recherches dans plusieurs tables et que le nombre d'enregistrmentqui en ressort peut dépasser les 10000, le temps de chargement peut devenir long. Mais j'ai peut-être trouvé un solution qui n'est pas parfaite mais bon... En fait lors du premier affichage, je stocke dans un premier temps tous mes enregistrements dans un tableau déclaré en public puis j'affiche avec une boucle for les lignes dont j'ai besoin (ex de 150 à 200). Quant on change de page, il n'y a plus besoin de refaire la requete mais simplement de lire les infos stockées dans le tableau toujours avec la boucle for.
Mais ça serait plus simple avec LIMIT 150, 200 en sql
"Ambassadeur Kosh" a écrit :
ben on fait TOP 150, et on balance les 100 premiers au reader. c'est moins lourd que de faire un SELECT de la totalité et de compter ensuite avec le reader.
si c'est pour faire de la page qui affiche les enregistrements par paquets de N, c'est pas la bonne façon de faire.
et sinon, quel interet ça a de selectionner ce genre de choses ? d'habitude, le critere de selection porte plutot sur une propriété ou une qualité des objets, pas sur une position (qui plus est peu être aléatoire sans un ORDER BY)...
"patrickrgn" a écrit dans le message de news: > Et comment fait-on pour selectionner les élément de 100 à 150? > > > "Ambassadeur Kosh" a écrit : > >> je ne connais pas cette fonction, mais bon, en SQL, TOP 123 >> selectionne >> les >> 123 premiers éléments d'une clause. cela permet de résoudre le >> probleme >> indépendament du client utilisé derriere. >> >> "patrickrgn" a écrit dans le >> message >> de news: >> > Bonjour >> > >> > Est-ce que la fonction "limit" permettant de sélectionner qu'une >> > partie >> > des >> > enregistrement existe et peut-être utiliser avec un OleDbDataReader >> > en >> > vb.net? >> > >> > Merci >> >> >>
pour moi, ce mécanisme LIMIT x,y n'est pas adapté.
entre la production de deux pages, ta table a bougé (nouvelles lignes,
lignes supprimées).
ces entiers x et y ne représentent rien de stable, et de fiable.
une façon AMHA plus compliant de faire est un SELECT id FROM table WHERE
criteria, et la, tu recuperes 10000 ids.
résultat que tu gardes au chaud dans ton viewstate, et que tu utilises
ensuite pour construire tes pages à l'aide de SELECT field1 , field2... FROM
table WHERE id = @id.
pour les données qui disparaissent en route, faut choisir entre une
représentation visuelle de "n'existe plus" ou une suppression dans la liste
des id.
pour les données qui apparaissent en route, faut voir. les faire apparaitre
revient à dire "naviguer = updater". moi je dirais "on fait pas"
pour le contenu qui change, ben on peut pas avoir le beurre et l'argent du
beurre.
et sinon, une requete qui ramene 100000 lignes regroupées par 50 dans des
pages, culturellement, en mode deconnecté, ça se fait pas trop, vois tu.
"patrickrgn" <patrickrgn@discussions.microsoft.com> a écrit dans le message
de news: 748DA89D-9ED6-4DF4-928B-150E8000509E@microsoft.com...
Justement, je veux m'en servir pour un système de page pour un
datagridview.
Sachant que la requete est assez lourde avec des recherches dans plusieurs
tables et que le nombre d'enregistrmentqui en ressort peut dépasser les
10000, le temps de chargement peut devenir long.
Mais j'ai peut-être trouvé un solution qui n'est pas parfaite mais bon...
En fait lors du premier affichage, je stocke dans un premier temps tous
mes
enregistrements dans un tableau déclaré en public puis j'affiche avec une
boucle for les lignes dont j'ai besoin (ex de 150 à 200). Quant on change
de
page, il n'y a plus besoin de refaire la requete mais simplement de lire
les
infos stockées dans le tableau toujours avec la boucle for.
Mais ça serait plus simple avec LIMIT 150, 200 en sql
"Ambassadeur Kosh" a écrit :
ben on fait TOP 150, et on balance les 100 premiers au reader.
c'est moins lourd que de faire un SELECT de la totalité et de compter
ensuite avec le reader.
si c'est pour faire de la page qui affiche les enregistrements par
paquets
de N, c'est pas la bonne façon de faire.
et sinon, quel interet ça a de selectionner ce genre de choses ?
d'habitude,
le critere de selection porte plutot sur une propriété ou une qualité des
objets, pas sur une position (qui plus est peu être aléatoire sans un
ORDER
BY)...
"patrickrgn" <patrickrgn@discussions.microsoft.com> a écrit dans le
message
de news: 1C158B33-1E5F-4398-8086-C794ECE7E7DC@microsoft.com...
> Et comment fait-on pour selectionner les élément de 100 à 150?
>
>
> "Ambassadeur Kosh" a écrit :
>
>> je ne connais pas cette fonction, mais bon, en SQL, TOP 123
>> selectionne
>> les
>> 123 premiers éléments d'une clause. cela permet de résoudre le
>> probleme
>> indépendament du client utilisé derriere.
>>
>> "patrickrgn" <patrickrgn@discussions.microsoft.com> a écrit dans le
>> message
>> de news: 3B198AAB-177A-4817-B9CC-75932CB236EC@microsoft.com...
>> > Bonjour
>> >
>> > Est-ce que la fonction "limit" permettant de sélectionner qu'une
>> > partie
>> > des
>> > enregistrement existe et peut-être utiliser avec un OleDbDataReader
>> > en
>> > vb.net?
>> >
>> > Merci
>>
>>
>>
pour moi, ce mécanisme LIMIT x,y n'est pas adapté. entre la production de deux pages, ta table a bougé (nouvelles lignes, lignes supprimées). ces entiers x et y ne représentent rien de stable, et de fiable.
une façon AMHA plus compliant de faire est un SELECT id FROM table WHERE criteria, et la, tu recuperes 10000 ids. résultat que tu gardes au chaud dans ton viewstate, et que tu utilises ensuite pour construire tes pages à l'aide de SELECT field1 , field2... FROM table WHERE id = @id.
pour les données qui disparaissent en route, faut choisir entre une représentation visuelle de "n'existe plus" ou une suppression dans la liste des id. pour les données qui apparaissent en route, faut voir. les faire apparaitre revient à dire "naviguer = updater". moi je dirais "on fait pas" pour le contenu qui change, ben on peut pas avoir le beurre et l'argent du beurre.
et sinon, une requete qui ramene 100000 lignes regroupées par 50 dans des pages, culturellement, en mode deconnecté, ça se fait pas trop, vois tu.
"patrickrgn" a écrit dans le message de news:
Justement, je veux m'en servir pour un système de page pour un datagridview. Sachant que la requete est assez lourde avec des recherches dans plusieurs tables et que le nombre d'enregistrmentqui en ressort peut dépasser les 10000, le temps de chargement peut devenir long. Mais j'ai peut-être trouvé un solution qui n'est pas parfaite mais bon... En fait lors du premier affichage, je stocke dans un premier temps tous mes enregistrements dans un tableau déclaré en public puis j'affiche avec une boucle for les lignes dont j'ai besoin (ex de 150 à 200). Quant on change de page, il n'y a plus besoin de refaire la requete mais simplement de lire les infos stockées dans le tableau toujours avec la boucle for.
Mais ça serait plus simple avec LIMIT 150, 200 en sql
"Ambassadeur Kosh" a écrit :
ben on fait TOP 150, et on balance les 100 premiers au reader. c'est moins lourd que de faire un SELECT de la totalité et de compter ensuite avec le reader.
si c'est pour faire de la page qui affiche les enregistrements par paquets de N, c'est pas la bonne façon de faire.
et sinon, quel interet ça a de selectionner ce genre de choses ? d'habitude, le critere de selection porte plutot sur une propriété ou une qualité des objets, pas sur une position (qui plus est peu être aléatoire sans un ORDER BY)...
"patrickrgn" a écrit dans le message de news: > Et comment fait-on pour selectionner les élément de 100 à 150? > > > "Ambassadeur Kosh" a écrit : > >> je ne connais pas cette fonction, mais bon, en SQL, TOP 123 >> selectionne >> les >> 123 premiers éléments d'une clause. cela permet de résoudre le >> probleme >> indépendament du client utilisé derriere. >> >> "patrickrgn" a écrit dans le >> message >> de news: >> > Bonjour >> > >> > Est-ce que la fonction "limit" permettant de sélectionner qu'une >> > partie >> > des >> > enregistrement existe et peut-être utiliser avec un OleDbDataReader >> > en >> > vb.net? >> > >> > Merci >> >> >>