VB.NET ADO.NET

dlpinformatique Messages postés 3 Date d'inscription vendredi 26 septembre 2003 Statut Membre Dernière intervention 16 janvier 2011 - 6 déc. 2003 à 01:02
miya19 Messages postés 3 Date d'inscription jeudi 27 octobre 2005 Statut Membre Dernière intervention 2 décembre 2005 - 4 nov. 2005 à 14:18
Bonsoir,
Je voudrais faire référence avec un DataSet unique pour pouvoir modifier mes enregistrement sur mes tables dans la base de donnée access. J'utilise pour cela un DataSet, un objet OleDbCommand, OleDbDataAdapter, OleDbCommandBuilder, OleDbConnexion.
Lorsque je creer un objet OleDbAdapter :
Dans un module, je declare toutes les variables afin de pouvoir les manipuler dans tous mes formulaires et ensuite sur chaque formulaire je recherche l'enregistrement en question pour le modifier.

exemple :
'dbCmdFactures = New OleDb.OleDbCommand("SELECT [NumFacture],[Client],[Produit],[DateEnvoi],[DateFacture],[DateReception],[FraisPort],[Montant] FROM [Factures]", conn)
'dbCmdFactures.CommandType = CommandType.Text
'dbdaFactures = New OleDb.OleDbDataAdapter
'dbdaFactures.SelectCommand = dbCmdFactures
'dbBuilder = New OleDb.OleDbCommandBuilder(dbdaFactures)
'dtFactures = DsGestionClients1.Tables("Factures")

l'objet dbBuilder ne fait pas son role en completant les autres propriétés.

Je n'arrive pas a mettre a jour mes données modifiées sur la base de données physique par :
dbdaFactures.Update(DsGestionClients1,"Factures")

Pouvez-vous resoudre se petit problème.

Merci d'avance
dlpinformatique

4 réponses

BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
6 déc. 2003 à 09:35
'lut

si je ne m'abuse, le dataset ne sert qu'a gerer des donnees en mode "Hors connexion", et si tu veux modifier les donnees sur la base de donnees physique, il faut utiliser un DataReader

@++

:clown) BasicInstinct :clown)
0
dlpinformatique Messages postés 3 Date d'inscription vendredi 26 septembre 2003 Statut Membre Dernière intervention 16 janvier 2011
6 déc. 2003 à 12:56
Bonjour,
En fait je manupule les données hors connexion dans mon application. Une fois que l'utilisateur a fini toutes ses modifications, il a la possibilité de l'enregistrer dans la base physique. C'est pour cela qu'il existe un DataSet. Mon probleme était de mettre a jour mes données modifié du DataSet vers la base en sachant que l'instruction Update de l'objet OleDbAdapter ne remplissait pas son role. En effet losque je construsait un OleDbAdapter la ligne dessous ne fonctionnait pas et pourtant en incluant un objet OleDbCommandBuilder :

dbdaFactures.Update(DsGestionClients1,"Factures")

J'ai en fait trouver pourquoi je n'y arrivais pas.
En faisant une modification fonctionnelle dans l'objet OleDbAdapter, Ce dernier fonctionne.
Les modifications sont les suivantes :

exemple :
'dbdaFactures = New OleDb.OleDbDataAdapter("SELECT [NumFacture],[Client],[Produit],[DateEnvoi],[DateFacture],[DateReception],[FraisPort],[Montant] FROM [Factures]", conn)
'dbBuilder = New OleDb.OleDbCommandBuilder(dbdaFactures)
'dtFactures = DsGestionClients1.Tables("Factures")

Ce code fonctionne. En cherchant un peu , on trouve toujours la solution. Et merci encore pour tout ceux qui ont voulu m'aider. @+

dlpinformatique
0
cs_maltese Messages postés 2 Date d'inscription mercredi 12 mai 2004 Statut Membre Dernière intervention 8 juillet 2004
8 juil. 2004 à 16:45
si tu veux manipuler des donnees et modifier ensuite ta BD
Tu dois ds un 1e tps rempplir ton dataset
dataAdapter.fill(Dataset)

Apres tes modifes peuvent etre repercute par un update precede d'un currency manager

dim cm as currencyManager
cm = CType(me.BindingContext _(Me.Dataset,"table"),CurrencyManager)
cm.EndCurrentEdit()

dataAdapter.Update(Dataset)

Ta pas besoin d'1 dataReader (lecture seule)
Conseil: Utilise les elements graphiquesde la boite a outil
0
miya19 Messages postés 3 Date d'inscription jeudi 27 octobre 2005 Statut Membre Dernière intervention 2 décembre 2005
4 nov. 2005 à 14:18
miya: salut je veux bien avoir le meme resultat mais cette fois-ci
avec une bas de donnée en sql server ca serai tres gentil de votre part si il ya un reponse car jen ai vraiment besoin
merci d'avance
0
Rejoignez-nous