Mise a jours de la base effectué
Bonjour,
J'ai un problème concernant la mise a jour d'une table dans ma base de données.
J'ai utilisé un module ou je fait la connexion a ma base et un formulaire de remplissage dans ma formé catégorie selon le code suivant
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| Imports System.Data
Imports System.Data.OleDb
Module Module1
' Déclaration Objet Connexion
Public ObjetConnection As OleDbConnection
' Déclaration Objet Commande
Public ObjetCommand As OleDbCommand
' Déclaration Objet DataAdapter
Public ObjetDataAdapter As OleDbDataAdapter
' Déclaration Objet DataSet
Public ObjetDataSet As New DataSet() 'Attention au New
'String contenant la 'Requête SQL'
Public strSql As String
' Déclaration Objet DataTable
Public ObjetDataTable As DataTable
' Déclaration Objet DataRow (ligne)
Public ObjetDataRow As DataRow
'Numéro de la ligne en cours
Public RowNumber As Integer 'Numéro de l'enregistrement courant
'Paramêtres de connexion à la DB
Public strConn As String
'Pour recompiler les données modifiées avant de les remettre dans le
'"DataAdapter"
Public ObjetCommandBuilder As OleDbCommandBuilder
Public Sub connexion(ByVal table As String)
Try
'Initialisation de la chaîne de paramètres pour la connexion
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Application.StartupPath & "\" & "Gpi2.mdb;"
'Initialisation de la chaîne contenant l'instruction SQL
strSql = "SELECT * FROM " & table & ""
'Instanciation d'un Objet Connexion
ObjetConnection = New OleDbConnection()
'Donner à la propriété ConnectionString les paramètres de connexion
ObjetConnection.ConnectionString = strConn
'Ouvrir la connexion
ObjetConnection.Open()
'Instancier un objet Commande
ObjetCommand = New OleDbCommand(strSql)
'Instancier un objet Adapter
ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
'initialiser l'objet Command
ObjetCommand.Connection() = ObjetConnection
'Avec l'aide de la propriété Fill du DataAdapter charger le DataSet
ObjetDataAdapter.Fill(ObjetDataSet, "" & table & "")
'Mettre dans un Objet DataTable une table du DataSet
ObjetDataTable = ObjetDataSet.Tables("" & table & "")
Catch ex As OleDbException
MsgBox("Une erreur s'est prouduit lors de l'execution du programme")
End Try
End Sub ' Finalement la connexion est bien fait :)
End Module |
La classe categorie
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| Imports System.Data.OleDb
Public Class Categorie
Private Sub CATEGORIEBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.Validate()
Me.CATEGORIEBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.Gpi2DataSet)
End Sub
Private Sub Categorie_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'Gpi2DataSet.CATEGORIE' table. You can move, or remove it, as needed.
Me.CATEGORIEBindingSource.AddNew()
Me.CATEGORIETableAdapter.Fill(Me.Gpi2DataSet.CATEGORIE)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
connexion("CATEGORIE")
'************************************************
'*************Ajout D'une CATEGORIE**************
'************************************************
ObjetDataRow = ObjetDataSet.Tables("CATEGORIE").NewRow()
ObjetDataRow("Code_cat") = Me.Code_catTextBox.Text
ObjetDataRow("Libelle") = Me.LibelleTextBox.Text
ObjetDataSet.Tables("CATEGORIE").Rows.Add(ObjetDataRow)
'Pour modifier les valeurs changées dans le DataAdapter
ObjetCommandBuilder = New OleDbCommandBuilder(ObjetDataAdapter)
'Mise à jour
ObjetDataAdapter.Update(ObjetDataSet, "CATEGORIE")
'On vide le DataSet et on le 'recharge' de nouveau.
ObjetDataSet.Clear()
ObjetDataAdapter.Fill(ObjetDataSet, "CATEGORIE")
ObjetDataTable = ObjetDataSet.Tables("CATEGORIE")
'*************************************************
'************fin d'ajout de réparation************
'*************************************************
End Sub
Private Sub Code_catTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Code_catTextBox.TextChanged
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.CATEGORIEBindingSource.AddNew()
End Sub
End Class |
Merci de m'aider