begin process at 2012 02 14 03:35:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

Problème lors insertion ligne avec ADO.NET


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème lors insertion ligne avec ADO.NET

vendredi 24 septembre 2004 à 11:55:32 | Problème lors insertion ligne avec ADO.NET

Cryborg

Bonjour,

Je tente désespérément d'insérer une ligne dans un fichier Access en utilisant ADO.NET, mais je n'arrive à rien... Aucun message d'erreur, et pourtant, rien ne s'écrit... J'arrive parfaitement à lire les infos, mais écrire reste problèmatique.... Voici le code que j'utilise :

<code>
Public Function ConnectDBNoms()

strConnNoms = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & AppStart & "\Listing.mdb;"

objConnectionNoms = New OleDbConnection
objConnectionNoms.ConnectionString = strConnNoms
objConnectionNoms.Open()

strSqlNoms = "SELECT * FROM Personnes ORDER BY Nom ASC"

objCommandNoms = New OleDbCommand(strSqlNoms)
objDataAdapterNoms = New OleDbDataAdapter(objCommandNoms)

objCommandNoms.Connection() = objConnectionNoms
objDataSetNoms.Clear()
objDataAdapterNoms.Fill(objDataSetNoms, "Personnes")
objDataTableNoms = objDataSetNoms.Tables("Personnes")

End Function

Private Sub MenuItem8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem8.Click
Dim NewLigne As DataRow = objDataSetNoms.Tables("Personnes").NewRow()

objDataAdapterNoms.InsertCommand = New OleDbCommand
objDataAdapterNoms.InsertCommand.Connection = objConnectionNoms
objDataAdapterNoms.InsertCommand.CommandText = "INSERT INTO Personnes(Genre, Nom, Prenom, IDAdresse) VALUES (?,?,?,?)"

NewLigne("Genre") = 0
NewLigne("Prenom") = "NPrénom"
NewLigne("Nom") = "NNom"
NewLigne("IDAdresse") = CInt(ListView1.SelectedItems.Item(0).Text)
objDataSetNoms.Tables("Personnes").Rows.Add(NewLigne)

Try
objDataAdapterNoms.Update(objDataSetNoms, "Personnes")
MsgBox("Insertion réussie !")
Catch ex As Exception
MsgBox(ex.ToString())
End Try
objConnectionNoms.Close()

End Sub
</code>

Quelqu'un aurait une idée ?
vendredi 24 septembre 2004 à 12:56:14 | Re : Problème lors insertion ligne avec ADO.NET

cboulas

Membre Club
Salut,

Je pense que ton erreur viens de ce bloc :

==============================================
Dim NewLigne As DataRow = objDataSetNoms.Tables("Personnes").NewRow()

objDataAdapterNoms.InsertCommand = New OleDbCommand
objDataAdapterNoms.InsertCommand.Connection = objConnectionNoms
objDataAdapterNoms.InsertCommand.CommandText = "INSERT INTO Personnes(Genre, Nom, Prenom, IDAdresse) VALUES (?,?,?,?)"

NewLigne("Genre") = 0
NewLigne("Prenom") = "NPrénom"
NewLigne("Nom") = "NNom"
NewLigne("IDAdresse") = CInt(ListView1.SelectedItems.Item(0).Text)
objDataSetNoms.Tables("Personnes").Rows.Add(NewLigne)

objDataAdapterNoms.Update(objDataSetNoms, "Personnes")
==============================================

Utilise plutôt la fonction "Recordset" avec "addnew", pour cela tu doit impliquer la référence : ADODB

N'hésite pas à demander un exemple de code.

Voir MSDN
Chris....
vendredi 24 septembre 2004 à 13:39:21 | Re : Problème lors insertion ligne avec ADO.NET

Cryborg

Merci pour ta réponse cboulas,

J'ai déjà utilisé ADODB, et effectivement c'est beaucoup plus simple d'utilisation... Mais je voulais absolument essayer les fameux DataSets dont je n'entends que du bien, et qui pourtant ne sont pas une sinécure niveau utilisation...

Si jamais je n'y arrive pas, je reviendrais à ces bons vieux recordsets, mais je voudrais tout de même comprendre pour quoi ce bout de code, qui vient pourtant de MSDN en grande partie, et où je n'ai changé que les noms des objets....

L'erreur vient effectivement de ce bout de code que tu as mis en évidence, mais comme il me sort "Insertion réussie !", je n'arrive pas à voir où ça cloche... Surtout que même avec un pas-à-pas, tout a l'air correct et se remplit bien... On dirait tout simplement que les changements du DataSet ne sont pas retransmis au DataAdapter...
lundi 27 septembre 2004 à 09:25:35 | Re : Problème lors insertion ligne avec ADO.NET

Cryborg

Réponse acceptée !
Je viens de réussir à faire marcher ce bout de code ! L'erreur venait du fait qu'il y avait un champ en NuméroAuto, et le fait de ne pas l'indiquer dans la commande INSERT a éliminé le problème !


Cette discussion est classée dans : personnes, newligne, objconnectionnoms, objdataadapternoms, objdatasetnoms


Répondre à ce message

Sujets en rapport avec ce message

recuperer le nom des personnes ayant une peripherique [ par Mickael ] voila, j'ai un joli réseau et je voudrais savoir par un programme en vb qui a, par exemple, une webcam, un scanner ,etc....Merci de m'aider Peu ton connecter plusieur personnes et les voir comme ICQ [ par Sycho ] Salut ! J'aimerais faire quelque chose comme ICQ peu ton connecter plusieur personnes sur un programe que je veu faire sur vb6 et on peu l Usage du site VBFrance [ par Cousin Hub ] Il y a sur ce site des personnes qui mettent en ligne des sources sans commentaire dans le code et surtout sans indiquer à quoi elles servent...Il me A la recherche d' une clé de registre [ par vbGuy ] bon Salut tlmje recherhe une clé de registre que seules certaines personnes possèdentCes personnes là ont l' avantage d' avoir l' edition pro de VB6 e A la recherche d' une clé de registre [ par vbGuy ] bon Salut tlmje recherhe une clé de registre que seules certaines personnes possèdentCes personnes là ont l' avantage d' avoir l' edition pro de VB6 e read only lock [ par sonatine ] salut, je suis en train de faire une appli dans laquelle plusieurs personnes attaquent la meme base de donne, j'aimerai savoir comment faire pour que Recherche éducateur programmeur [ par PROGRAMMIX ] Désolé si cette question ne porte pas sur un problème de programmation.En fait, je travaille dans un foyer occupationnel pour personnes handicapées me à nix ou à des personnes connaissant son e-mail [ par crossblade ] je ne peut pas dire exactement mais c'est en rapport avec le site et c'est un truc pas sympa à faire.....(((((( crossblade )))))))) Comment m'y prendre [ par PROGRAMMIX ] Dans l'institution où je travaille, l'infirmière a enregistré les informations médicales des personnes dont on a la charge dans des fichiers WORD (un requête [ par S16 ] Bonjour,J'ai une Table1 (personnes) liée à une Table2 (certificats). Chaque personne peut avoir de 0 à plusieurs certificats. Quelle est la requête qu


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,630 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales