2009-03-19 14 views

Répondre

2

Ce n'est pas une source de données déconnectée comme say, un DataTable. Vous devez le fermer vous-même sinon vous attendez qu'il meure de causes naturelles :).

Intéressé par des alternatives? Placez vos données dans un DataTable, DataSet ou convertissez les lignes retournées dans une liste d'objets personnalisés et renvoyez l'une d'entre elles.

Espérons que ça aide!

+0

Je vais utiliser un DataTable à la place. – ProfK

+0

Merci. Je connais les avantages des datatables et autres. Je regarde la base de code d'un client et je vois quelques exemples de mon code ci-dessus. Je voulais juste un deuxième avis avant de commencer à faire des corrections. –

0

Je crois que vous devez le fermer vous-même. Le DataBind du répéteur, par exemple, ne ferme pas sa source de données. Si ce n'est pas un IDataSource, alors il le convertit simplement en IEnumerable et appelle foreach.

0

J'ai vérifié le code pour Repeater en utilisant Reflector et il ne ferme pas le IDataReader. Vous devrez le faire vous-même. Avec le type DataReader, la connexion doit rester ouverte pendant que vous accédez aux données.