cs_Pachanka
Messages postés19Date d'inscriptionmercredi 29 octobre 2003StatutMembreDernière intervention 9 janvier 2009
-
27 févr. 2006 à 10:52
cs_Pachanka
Messages postés19Date d'inscriptionmercredi 29 octobre 2003StatutMembreDernière intervention 9 janvier 2009
-
27 févr. 2006 à 13:45
plop,
je debute en vb.net et j'ai un ptit soucis.
J'ai compris (je pense) le fonctionnement du dataset/dataadapter, qd on modif le dataset, un update et zou les modifs sont repercutées dans la base. Seulement, je ne veux pas modif le dataset. Je cree des objets a partir des enregistrements du dataset, et j'aimerais que la maj des objets mette a jour le dataset. une idee?
Dalida
Messages postés6728Date d'inscriptionmardi 14 mai 2002StatutContributeurDernière intervention11 janvier 2016 27 févr. 2006 à 11:38
salut,
mettons-nous daccord, pour mettre à jour la bdd à partir du Dataset :
- tu fais des modifications dans le Dataset (ajout, suppression ou modification d'enregistrement).
- DataAdapter.Update(...)
dans ce cas, la bbd est mise à jour et les enregistrements du Dataset
sont marqués Unchanged. donc ton Dataset est "synchronisé" avec la bdd
(sauf cas des numéros auto qui risquent de ne pas correspondre).
jusque là je crois qu'on est daccord...
si par exemple tu
modifies une ligne (ajout, suppression ou modification) et que tu
souhaites que ces modifications soient prises en compte par le Dataset
uniquement (sans mettre à jour la bdd) il faut accepter les changements
dans le Dataset, pour cela tu peux utiliser selon le cas :
DataRow.AcceptChanges
DataTable.AcceptChanges
Dataet.AcceptChanges
le Dataset reflète tes
modifications mais n'est pas "synchronisé" avec la bdd. la ou les
lignes sont marquées comme Unchanged, donc un appel ultérieur à
DataAdapter.Update ne les concernera pas.
était-ce là ton problème ?
[ Dalida ]<hr> pensez à indiquer la version du language
cs_Pachanka
Messages postés19Date d'inscriptionmercredi 29 octobre 2003StatutMembreDernière intervention 9 janvier 2009 27 févr. 2006 à 13:45
non ^^
je voudrais avoir le schéma objet-->dataset-->dataadapter-->bdd et inversement en partant de la bdd.
Il ne s'agit plus de lié le dataset a la bdd mais un objet(classe) qui a la meme structure que la table (plus ou moins).
exemple :
Dim oConnection As SqlConnection = New SqlConnection()
oConnection.ConnectionString = ConfigurationManager.AppSettings("SqlServer")
Dim oDataSet As New DataSet("ListeDeClients")
Dim oSqlDataAdapter As New SqlDataAdapter("SELECT * FROM CLIENTS", oConnection)
oSqlDataAdapter.Fill(oDataSet, "ListeDeClients")
dtr = oDataSet.CreateDataReader()
While dtr.Read()
ReDim Preserve tabSessions(i)
tabSessions(i) = New cClient(dtr("NUM_CLIENT"))
End While
ca me permet a partir du dataset de contruire un tableau de clients.
Apres dans le code, les users de l'appli vont modif ces objets. Je voudrais que les modifs faites se repercutent sur le dataset et par extension sur la bdd.