Mise a jour d'une bd a partir d'un datagridview par programmation
vblover
Messages postés57Date d'inscriptionmardi 25 février 2003StatutMembreDernière intervention27 janvier 2011
-
12 déc. 2008 à 17:45
tovin
Messages postés164Date d'inscriptionsamedi 11 décembre 2004StatutMembreDernière intervention14 août 2013
-
13 déc. 2008 à 07:50
Voila, le datagrid affiche normalement la table "clients" du dataset. comment repercuter les changements faits par l'utilisateur sur la base de donnees?
Je recois toujours un message d'exection lors de la mise a jour du dataset a l'instruction dap1.update(das1,"clients").
Apparemment le dataset n'a aucune table. das1.tables.count = 0, alors qu'il est egal a 1 avant l'appel du datagriview.
Merci de votre aide
Imports System.Data
Imports System.Data.OleDb
Public Class Form1
Public dap1 As New OleDbDataAdapter
Public das1 As New DataSet
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
dap1.Update(das1, "clients")
End
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim strconnectstring As String = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=D:\gestock\essai_net\stock.mdb;Jet OLEDB:Database Password=cwru"
Dim oconn As New OleDb.OleDbConnection(strconnectstring)
Dim strsql = "select * from clients"
Dim cmd1 As New System.Data.OleDb.OleDbCommand()
Dim cb As New OleDbCommandBuilder
Dim das1 As New System.Data.DataSet()
With cmd1
.Connection = oconn
.CommandText = strsql
End With
tovin
Messages postés164Date d'inscriptionsamedi 11 décembre 2004StatutMembreDernière intervention14 août 20133 12 déc. 2008 à 19:00
Bonjour,
Ne manque-t-il pas dans la procédure button1_click :
Dim CmdBuild As OleDbCommandBuilder
CmdBuild = New OleDb.OleDbCommandBuilder(monadapter)
'On génère l'update entre le dataSet et la base de donnée
monadapter.UpdateCommand = CmdBuild.GetUpdateCommand()
monadapter.Update(das1,"Clients")
vblover
Messages postés57Date d'inscriptionmardi 25 février 2003StatutMembreDernière intervention27 janvier 2011 12 déc. 2008 à 19:13
Je viens juste d'essayer votre suggestion. Malheureusement cela ne change rien. Je recois toujour le meme message lors de l'instruction dap1.update(das1,"clients"). le message est le suivant:
Update unable to find TableMapping['clients'] or DataTable 'clients'.
Merci quand meme.
vblover
Messages postés57Date d'inscriptionmardi 25 février 2003StatutMembreDernière intervention27 janvier 2011 12 déc. 2008 à 21:35
Bon apres moult essais j'ai pu me debarasser du message d'erreur en ajoutant les 2 lignes suivantes: (juste apres l'instruction oconn.open() in the listing)
dap1.TableMappings.Clear()
dap1.TableMappings.Add("clients", "clients")
Aucun message d'erreur mais la mise jour n'est pas faite.
vblover
tovin
Messages postés164Date d'inscriptionsamedi 11 décembre 2004StatutMembreDernière intervention14 août 20133 13 déc. 2008 à 07:50
Bonjour,
Et en mettant le strconnectstring en public après Form1 ? ou le rappeler dans button1 ?
Il me semble que la procédure du button1 n'a plus connaissance du chemin pour updater ?
A+