Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Comment rendre un DataTable indépendant de la source de données ?

3 views
Skip to first unread message

olivier

unread,
Oct 10, 2009, 1:24:58 PM10/10/09
to
Bonjour,

Comment rendre un DataTable ind�pendant de la source de donn�es ?

Je m'explique :
Je remplis un datatable avec dataadaptateur, ensuite je lie mon datagrid
avec le datatable
Tout est OK, je peux modifier les valeurs dans mon datagrid etc. OK tout va
bien

Je fais la m�me chose avec un datareader et l�, je ne peut plus modifier
dans le datagrid !!

Pourquoi ?
Puis-je contourner ce probl�me ?

Merci
Olivier

SQL serveur 2005/2008
.Net 2.0/3.0


ChC2B

unread,
Oct 12, 2009, 12:41:37 PM10/12/09
to
Bonjour,

L'utilisation d'un datareader n'est pas ce qu'il y a de mieux en raison
du mode exclusif g�n�r� sur l'objet connection sous-jacent. (Bon ceci
n'est que mon humble avis)
CF : http://msdn.microsoft.com/fr-fr/library/haa3afyz(VS.80).aspx

Pour ma part j'ai opt� pour un traitement diff�renci� pour chaque table
ou requete de ma base je d�fini un objet qui comporte un:
system.generic.collections.typeof(monobjet)
et un
Bindingcollections associ� (attention synchro des remove, add et clear)
Ce qui permet de g�rer les acc�s � la base avec des SELECT FROM... pour
remplir la liste. De lier les contr�le avec le bindingcollection
de faire des mise � jour ou autre avec une clause SQL.

Ceci permet de ma�triser l'acc�s � la BD le temps d'une fonction, de
lier facilement les donn�es � un ou des contr�les.

A+


olivier a �crit :

Richard Clark

unread,
Oct 13, 2009, 10:56:14 AM10/13/09
to
ChC2B a �crit :

Je comprends pas ta r�ponse sur le DataReader. Pour lire les donn�es
d'une base, y'a que le Datareader de possible ?!
A moins que tu veuilles dire de ne pas lier un objet graphique avec le
Datareader directement.

--
Richard Clark
http://www.c2i.fr
Le 1er site .NET

ChC2B

unread,
Oct 13, 2009, 2:51:00 PM10/13/09
to
Bonjour,

Bon je suis pas un pro et j'ai pas VS2008 sous la main,

Mais de m�moire
Pour lire des donn�es

J'utilise un DataAdapter du style
Dim adapter As DataAdapter = New DataAdapter( _
queryString, connection)

un dataset
da.fill(ds)
ensuite j'obtient un datarow � partir de la table du dataset
puis j'affecte chaque row � un objet (que j'ajoute � ma collection )

Pour faire une mise � jour j'utilise le m�me proc�d� avec une requ�te UPDATE

En fait ce que je voulais signifier c'est que j'utilise en m�moire une
collection d'objet d�connect�s de la base et que seule l'utilisation des
fonction Lire(),Enregistre(), MAJ() Supprime() de mon objet (fonctions
bas�es sur le principe pr�c�dent) acc�de � la BD le temps de leur ex�cution.

Si je suis pas clair dis le je prendrais un exemple de code au bureau.

A+


Richard Clark

unread,
Oct 14, 2009, 2:28:00 AM10/14/09
to
ChC2B a �crit :

C'est la solution la plus rapide, pas forcement la plus optimis�e.
De toutes fa�ons, le DataAdapter utilise en interne un DataReader.

vanderghast

unread,
Oct 15, 2009, 9:31:20 AM10/15/09
to
De toutes fa�ons, un DataReader, c'est du Read Only Forward Only (firehose),
par 'd�finition', on ne peut donc pas l'utiliser pour modifier les donn�es.

Vanderghast, Access MVP

eddymaue

unread,
Oct 26, 2009, 5:43:48 PM10/26/09
to
Ca fait du sens DataReader = lecteur de donnᅵes ;-)

a+ et bonne journᅵe

vanderghast a prᅵsentᅵ l'ᅵnoncᅵ suivant :
> De toutes faᅵons, un DataReader, c'est du Read Only Forward Only (firehose),
> par 'dᅵfinition', on ne peut donc pas l'utiliser pour modifier les donnᅵes.
>
> Vanderghast, Access MVP


0 new messages