Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

DataSet OutOfMemory

2 réponses
Avatar
Gaëtan
Bonjour tout le monde,

j'ai rencontré un problème lorsque j'utilise :
dataAdapatateur.Fill(dataSet)

j'ai un gros grand nombre de données du coup il me fait un OutOfMemory.
Il y'aurait il un moyen de "diviser" le dataSet, de manière à récupèrer les
données partiellement et les injecter dans la grille jusqu'a temps que le
dataset soit arrivé à la fin.

Pour information pour ceux qui pensait utiliser un dataReader, je ne peux
pas l'utiliser je souhaite conserver le type de mes données

N'hessitez pas je suis a l'écoute de vos propositions

2 réponses

Avatar
Vincent Poyo
Bonjour Gaetan,

Une grille avec des dizaines de colonnes et des milliers de lignes est
rarement exploitable facilement pour un utilisateur, une première solution
d'ordre fonctionnelle serais que l'utilisateur soit obliger de saisir des
filtres de recherche et ne ramener donc que les données correspondantes et
uniquement les colonnes utiles.

une autre solution est de ramener que les x première lignes et d'afficher ta
liste par page. en gros ta grille affiche cent lignes que tu charges en
faisant un select top 100 * from ma_table where mon_id > @dernier_id_lu (qui
vaut zéro la première fois) et lorsqu'on clique sur le bouton suivant
relance la requête en mettant à jour ton @dernier_id_lu
et un bouton précédent qui ferait la même chose mais tu remplaces le > par
un < et tu rajoutes un order by mon_id desc

Cordialement,

Vincent POYO

"Gaëtan" a écrit dans le message de
news:
Bonjour tout le monde,

j'ai rencontré un problème lorsque j'utilise :
dataAdapatateur.Fill(dataSet)

j'ai un gros grand nombre de données du coup il me fait un OutOfMemory.
Il y'aurait il un moyen de "diviser" le dataSet, de manière à récupèrer
les
données partiellement et les injecter dans la grille jusqu'a temps que le
dataset soit arrivé à la fin.

Pour information pour ceux qui pensait utiliser un dataReader, je ne peux
pas l'utiliser je souhaite conserver le type de mes données

N'hessitez pas je suis a l'écoute de vos propositions



Avatar
Gaëtan
Merci pour votre intervention

Il est vrai, comme vous l'avez soulignez, qu'une grille surchargée de
données reste peut exploitable et que l'option top réglerais partiellement le
pb. Toutefois je n'ai pas la possibité de l'imposer dans mon projet.

Mon requêteur doit permettre n'importe qu'elle type de recherche. Si cette
derniere est peut exploitable libre à l'utilisateur de rester cohérent sur
ces critères de recherche.


Je vous remercie une nouvelle fois pour votre intervention constructive



"Vincent Poyo" a écrit :

Bonjour Gaetan,

Une grille avec des dizaines de colonnes et des milliers de lignes est
rarement exploitable facilement pour un utilisateur, une première solution
d'ordre fonctionnelle serais que l'utilisateur soit obliger de saisir des
filtres de recherche et ne ramener donc que les données correspondantes et
uniquement les colonnes utiles.

une autre solution est de ramener que les x première lignes et d'afficher ta
liste par page. en gros ta grille affiche cent lignes que tu charges en
faisant un select top 100 * from ma_table where mon_id > @dernier_id_lu (qui
vaut zéro la première fois) et lorsqu'on clique sur le bouton suivant
relance la requête en mettant à jour ton @dernier_id_lu
et un bouton précédent qui ferait la même chose mais tu remplaces le > par
un < et tu rajoutes un order by mon_id desc

Cordialement,

Vincent POYO

"Gaëtan" a écrit dans le message de
news:
> Bonjour tout le monde,
>
> j'ai rencontré un problème lorsque j'utilise :
> dataAdapatateur.Fill(dataSet)
>
> j'ai un gros grand nombre de données du coup il me fait un OutOfMemory.
> Il y'aurait il un moyen de "diviser" le dataSet, de manière à récupèrer
> les
> données partiellement et les injecter dans la grille jusqu'a temps que le
> dataset soit arrivé à la fin.
>
> Pour information pour ceux qui pensait utiliser un dataReader, je ne peux
> pas l'utiliser je souhaite conserver le type de mes données
>
> N'hessitez pas je suis a l'écoute de vos propositions
>