cs_papy27
Messages postés12Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention30 mai 2005
-
17 mai 2004 à 20:01
cs_danyo
Messages postés11Date d'inscriptionsamedi 21 août 2004StatutMembreDernière intervention21 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
cs_danyo
Messages postés11Date d'inscriptionsamedi 21 août 2004StatutMembreDernière intervention21 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'.