Probleme maj bdd access

cs_papy27 Messages postés 12 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 30 mai 2005 - 17 mai 2004 à 20:01
cs_danyo Messages postés 11 Date d'inscription samedi 21 août 2004 Statut Membre Dernière intervention 21 mars 2005 - 26 sept. 2004 à 21:50
Salut, j'ai un petit porbleme pour mettre a jour une bdd access
Voila le topo:
j'ai une base sur un poste client que je manipule sans pb.
Je veux la synchroniser avec la meme base sur un serveur.
Pour ce faire, j'envoie le dataset de la base client vers le serveur et je le merge avec celui de la base serveur. jusque la pas de pb.
Le pb apparait quand je veux faire un update du resultat sur la base. Il ne se passe rien.
Merci pour votre aide, mon stage en dépend.
Voila mon source:
'download dataset depuis client
<WebMethod()> Public Function download_its(ByVal ds_down As ws_ds_its)

'dataset de la base sur le serveur
Dim ds_down_ITS As New ws_ds_its
Dim objCB As New OleDb.OleDbCommandBuilder
objCB = New OleDb.OleDbCommandBuilder(OleDbDataAdapter1)

'ouverture de la connexion
Me.OleDbConnection1.Open()
'remplit le dataset avec le contenu de la table Clients
Me.OleDbDataAdapter1.Fill(ds_down_ITS, "Client")
'retire les contraintes
Try
ds_down_ITS.EnforceConstraints = True
'synchronise les 2 datsets: ds_down=dataset de la base du poste client
ds_down_ITS.Merge(ds_down)
ds_down_ITS.AcceptChanges()
'mise à jour de la table Clients
OleDbDataAdapter1.UpdateCommand = objCB.GetUpdateCommand()
OleDbDataAdapter1.Update(ds_down_ITS, "Client")
ds_down_ITS.EnforceConstraints = False
'fermeture de la base
OleDbConnection1.Close()
ds_down_ITS.WriteXml("c:\data_synchronisée.xml", XmlWriteMode.DiffGram)
Catch e As System.Exception
ds_down_ITS.WriteXml("c:\erreur.xml", XmlWriteMode.DiffGram)
End Try

1 réponse

cs_danyo Messages postés 11 Date d'inscription samedi 21 août 2004 Statut Membre Dernière intervention 21 mars 2005
26 sept. 2004 à 21:50
La methode 'Update' fonctionne avec la propriete RowState de chaque ligne des tableaux du dataset.
Si une ligne a le status 'modified','added' ou 'deleted' ,alors le update s'effectuera.
Par contre,quand on utilise 'Merge' ca met toute les ligne du dataset au status 'unchanged'.
Il faut donc utiliser 'update' avant 'Merge'.
0
Rejoignez-nous