Aider moi svp problème d'ajout d'un enregistrement

galaxy2009 Messages postés 144 Date d'inscription dimanche 24 avril 2011 Statut Membre Dernière intervention 16 juin 2016 - 30 janv. 2012 à 13:00
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 5 févr. 2012 à 17:15
Bonjour,
j'ai un problème bizare: j'ai une Bd access qui est bien conncetée le code d'ajout d'un enregistrement marche très bien, mon problème c'est que je rectifie une chose dans mon code ou je sort de VB 2010 et que je redemarre mon application tout ce qui est ajouté est disparu.
voilà le code complet NB (je travail avec VB 2010):

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'connexion base de données
conn "provider microsoft.jet.oledb.4.0 ; data source = " & Application.StartupPath & "\gestionclient.mdb;"
cnx = New OleDbConnection
cnx.ConnectionString = conn
cnx.Open()
sql = "select classique.* from classique"
cmd = New OleDbCommand(sql)
dta = New OleDbDataAdapter(cmd)
cmd.Connection() = cnx
'chargement du DataSet à partir du DataAdapter
dta.Fill(dts, "classique")
'chargement de la DataTable à partir du DataSet
dtt = dts.Tables("classique")

DANS LE BOUTTON AJOUT
sql = "select classique.* from classique"
cmd = New OleDbCommand(sql)
dta = New OleDbDataAdapter(cmd)
cmd.Connection() = cnx

'chargement du DataSet à partir du DataAdapter
dta.Fill(dts, "classique")

'chargement de la DataTable à partir du DataSet
dtt = dts.Tables("classique")
'crátion d'une nouvelle ligne avec les données des textbox
dtr = dts.Tables("classique").NewRow

dtr("rsoc") = Me.TextBox1.Text
dtr("police") = Me.TextBox2.Text
dtr("adresse") = Me.TextBox5.Text
dtr("ville") = Me.TextBox6.Text
dtr("tel1") = Me.MaskedTextBox1.Text

dts.Tables("classique").Rows.Add(dtr)
cmdb = New OleDbCommandBuilder(dta)
dta.Update(dts, "classique")
MessageBox.Show(" Contact ajouté avec succés", "Administrateur...", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
dts.Clear()
dta.Fill(dts, "classique")
dtt = dts.Tables("classique")


'mise à jour de la datagrid
DataGridView1.DataSource = Nothing
DataGridView1.DataSource = dts
DataGridView1.DataMember = "classique"

'vider les textbox

TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
MaskedTextBox1.Text = ""

rownum = 0
End subgalaxy2009

5 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
30 janv. 2012 à 13:36
Bonjour,

En recherchant rapidement, il faut réutiliser ton DataAdapter :
http://msdn.microsoft.com/en-us/library/ms233819%28v=vs.80%29.aspx

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
galaxy2009 Messages postés 144 Date d'inscription dimanche 24 avril 2011 Statut Membre Dernière intervention 16 juin 2016
30 janv. 2012 à 16:03
Bonjour,
comment réutiliser mon DataAdapter, c'est la seule méthode que je sais.
merci d'avance.


galaxy2009
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
30 janv. 2012 à 20:15
Bonjour,

Afin de faciliter la le'cture, repostes ton code en le mettant en forme (regardes le point 2 de ma signature, avec l'indentation, ...).

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
galaxy2009 Messages postés 144 Date d'inscription dimanche 24 avril 2011 Statut Membre Dernière intervention 16 juin 2016
2 févr. 2012 à 11:56
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

conn "provider microsoft.jet.oledb.4.0 ; data source = " & Application.StartupPath & "\gestionclient.mdb;"
cnx = New OleDbConnection
cnx.ConnectionString = conn
cnx.Open()
sql = "select classique.* from classique"
cmd = New OleDbCommand(sql)
dta = New OleDbDataAdapter(cmd)
cmd.Connection() = cnx
dta.Fill(dts, "classique")
dtt = dts.Tables("classique")

DANS LE BOUTTON AJOUT
sql = "select classique.* from classique"
cmd = New OleDbCommand(sql)
dta = New OleDbDataAdapter(cmd)
cmd.Connection() = cnx

dta.Fill(dts, "classique")

dtt = dts.Tables("classique")
dtr = dts.Tables("classique").NewRow

dtr("rsoc") = Me.TextBox1.Text
dtr("police") = Me.TextBox2.Text
dtr("adresse") = Me.TextBox5.Text
dtr("ville") = Me.TextBox6.Text
dtr("tel1") = Me.MaskedTextBox1.Text

dts.Tables("classique").Rows.Add(dtr)
cmdb = New OleDbCommandBuilder(dta)
dta.Update(dts, "classique")
MessageBox.Show(" Contact ajouté avec succés", "Administrateur...", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
dts.Clear()
dta.Fill(dts, "classique")
dtt = dts.Tables("classique")


DataGridView1.DataSource = Nothing
DataGridView1.DataSource = dts
DataGridView1.DataMember = "classique"


TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
MaskedTextBox1.Text = ""

rownum = 0
End sub


galaxy2009
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
5 févr. 2012 à 17:15
Bonjour,

Toujours pas avec la mise en forme, regardes le point 2 de ma signature.
Je ne vois pas le code de modification, juste le code d'ajout.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
Rejoignez-nous