VBNET : Problème d'Update de dataadapter sous ACCESS

cyrcroix 21 Messages postés vendredi 9 avril 2004Date d'inscription 5 juillet 2005 Dernière intervention - 21 juin 2005 à 16:08 - Dernière réponse : cyrcroix 21 Messages postés vendredi 9 avril 2004Date d'inscription 5 juillet 2005 Dernière intervention
- 24 juin 2005 à 14:02
Bonjour, je ne suis pas un expert en VB.NET. Je fais un programme qui communique avec une base de données sous ADO.NET et plus particulièrement avec la table "MemoConfig". Cette table est très simple : elle ne possède qu'une seule ligne et une dizaine de colonne. A chaque fois que mon programme y écrit quequechose, je veux qu'il écrase la donnée de la base (je le fais lors de la fermeture du form)

Voici le code :


ConnexionCONFIG = New OleDbConnection
ConnexionCONFIG.ConnectionString = strCon
ConnexionCONFIG.Open()
ObjetCommandCONFIG = New OleDbCommand(strSqlCONFIG)
DataAdapterCONFIG = New OleDbDataAdapter(ObjetCommandCONFIG)
ObjetCommandCONFIG.Connection() = ConnexionCONFIG
DataSetCONFIG = New DataSet
DataAdapterCONFIG.Fill(DataSetCONFIG, "MemoConfig")
DataTableCONFIG = DataSetCONFIG.Tables("MemoConfig")


Private Sub Parametrage_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed

DataRowCONFIG = DataSetCONFIG.Tables("MemoConfig").Rows(RowNumberCONFIG)
DataRowCONFIG("Gain_effort") = TextBox1.Text
...
ObjetCommandBuilder = New OleDbCommandBuilder(DataAdapterCONFIG)
DataAdapterCONFIG.Update(DataSetCONFIG, "MemoConfig")
DataSetCONFIG.Clear()
DataAdapterCONFIG.Fill(DataSetCONFIG, "MemoConfig")
DataTableCONFIG = DataSetCONFIG.Tables("MemoConfig")
If ConnexionCONFIG.State = ConnectionState.Connecting Then ConnexionCONFIG.Close()
end sub

La ligne avec l'update plante, elle me génere une exception : Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll.
Je ne trouve pas mon erreur, pouvez vous m'aider, je tourne en rond...
Merci d'avance pour votre aide.
Afficher la suite 

11 réponses

TrafMaxime 288 Messages postés mercredi 4 mai 2005Date d'inscription 26 janvier 2012 Dernière intervention - 21 juin 2005 à 17:20
0
Merci
Je pense que ton objetcommandbuilder est mal instancié, tu peux essayer ceci :

...texbox1.text...

dim objcommandbuilder as oledbcommandbuilder = new oledbcommandbuilder(dataadapterconfig)

dataadapterconfig.updatecommand = objcommandbuilder.getupdatecommand()

...

.Maytheforcebewithyou.Maxime.
TrafMaxime 288 Messages postés mercredi 4 mai 2005Date d'inscription 26 janvier 2012 Dernière intervention - 21 juin 2005 à 17:25
0
Merci
la ligne d'après celles que j'ai écrite reste (of course) :

dataadapterconfig.update(datasetmachin, "table")

.Maytheforcebewithyou.Maxime.
cs_chris81 589 Messages postés jeudi 2 octobre 2003Date d'inscription 29 avril 2008 Dernière intervention - 21 juin 2005 à 18:24
0
Merci
je pense que ta methode ne marchera pas car il faut que le dataset soit type

http://www.correzeweb.com
http://www.localetv.com
cyrcroix 21 Messages postés vendredi 9 avril 2004Date d'inscription 5 juillet 2005 Dernière intervention - 21 juin 2005 à 19:39
0
Merci
Ok, merci je vais essayer....
cyrcroix 21 Messages postés vendredi 9 avril 2004Date d'inscription 5 juillet 2005 Dernière intervention - 21 juin 2005 à 19:45
0
Merci
J'ai testé, cela ne fonctionne pas, la même exception est générée à la ligne d'update... Tant pis.
Merci quand même !!
TrafMaxime 288 Messages postés mercredi 4 mai 2005Date d'inscription 26 janvier 2012 Dernière intervention - 22 juin 2005 à 08:56
0
Merci
T'as bien vérifié tes tables dans accès : le champ en question en string..., un autre champ défini en tant que clé primaire... ?


Tu peux aussi essayer de ne pas préciser la table :

adapter.fill(dataset)

...

dataset.tables(0)...

et enfin :

adapter.update(dataset)

mais bon, ca je suis moins sûr que ca change qlq chose mais sait-on jamais...
.Maytheforcebewithyou.Maxime.
cyrcroix 21 Messages postés vendredi 9 avril 2004Date d'inscription 5 juillet 2005 Dernière intervention - 22 juin 2005 à 10:35
0
Merci
La clé primaire est définie sur un chanps que je ne modifie pas. Cela a une importance
TrafMaxime 288 Messages postés mercredi 4 mai 2005Date d'inscription 26 janvier 2012 Dernière intervention - 22 juin 2005 à 11:12
0
Merci
Pas de clé primaire, pas d'écriture dans la base.

Il est nécessaire qu'elle soit sans doublon, donc dans ton cas c ok puisqu'il n'y a qu'une ligne.
Sinon.... je vois pas d'erreur... faut essayer des trucs.. tout et n'importe quoi...jusqu'à ce que ca passe...

je crois qu'on est tous passés par des après-midi entière, voire des journées, de debuggage alors courage

et bonne chance...
.Maytheforcebewithyou.Maxime.
cs_chris81 589 Messages postés jeudi 2 octobre 2003Date d'inscription 29 avril 2008 Dernière intervention - 22 juin 2005 à 13:04
0
Merci
au moins as tu importer dans tes references system.date.oledb, et apres sur ton form en haut pareil

http://www.correzeweb.com
http://www.localetv.com
fullstack 1 Messages postés dimanche 12 octobre 2003Date d'inscription 22 juin 2005 Dernière intervention - 22 juin 2005 à 16:38
0
Merci
oui oui, quand même !!!
cyrcroix 21 Messages postés vendredi 9 avril 2004Date d'inscription 5 juillet 2005 Dernière intervention - 24 juin 2005 à 14:02
0
Merci
Je cherche toujours ... vais-je y arriver un jour??

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.