Soyez le premier à donner votre avis sur cette source.
Vue 14 713 fois - Téléchargée 815 fois
'Tout d'abord la fonction XmlToDs() Stockant les Informations d'un Fichier XML dans un dataset 'et necessitant : Imports System.Xml Imports System.Data 'Stockage des données d'un fichier xml dans un dataset Public Function XmltoDs(ByVal str_Path As String, ByRef ds As DataSet) As Boolean 'Str_Path: Chemin Du Fichier XML 'Ds : Dataset qui va contenir le resultat Dim xtr As New XmlTextReader(str_Path) Try ds.ReadXml(xtr) XmltoDs = True Catch ex As Exception MsgBox(ex.Message) XmltoDs = False Finally xtr.Close() End Try End Function 'Puis la Fonction joinLibelle()qui effectue la jointure entre le dataset et le fichier XML 'et necessitant :Imports System.Data ' et : dim objXMl as new clsXML 'Function joignant le libellé des Bases au dataset passé en parametre Private Function JoinLibelle(ByRef Ds As DataSet, ByVal Str_Path As String, ByVal str_NomChamp As String, ByVal str_Champ1 As String, ByVal str_Champ2 As String, ByVal str_RecupNom As String) As Boolean '************************************************************************************** '*** Ds: Dataset de Base sur lequel on Va venir Ajouter la jointure *** '*** Str_Path : Chemin d'Acces du Fichier XMl que l'on va ajouter a la jointure *** '*** Str_NomChamp : Nom que l'on veut donner a la nouvelle Colonne *** '*** Str_NomChamp1 : Nom du Champ de jointure dans le Dataset *** '*** Str_NomChamp2 : Nom du Champ de Jointure dans le Fichier XML *** '*** Str_RecupNom : Nom du Champ Que l'on veut recuperer dans le fichier XML *** '************************************************************************************** Dim Ds_Base As New DataSet Dim monRowG As DataRow Dim monRowB As DataRow Dim Dt_base As DataTable Dim dt_Gram As DataTable Dim i As Integer = 1 Dim j As Integer = 1 Try 'recuperation sous forme de fichier de Dataset du Fichier XML contenant les informations joindre If objXMl.XmltoDs(Str_Path, Ds_Base) = False Then JoinLibelle = False MsgBox("joinLibelleBase : Probleme de chargement du Fichier XML") Exit Function End If dt_Gram = Ds.Tables(0) Dt_base = Ds_Base.Tables(0) dt_Gram.Columns.Add(str_NomChamp) For Each monRowG In dt_Gram.Rows For Each monRowB In Dt_base.Rows If CInt(monRowG(Trim(str_Champ1))) = CInt(monRowB(Trim(str_Champ2))) Then 'Si les Identifiants Correspondent on Ajoute le Champ monRowG(str_NomChamp) = monRowB(str_RecupNom) End If j += 1 Next i += 1 Next Catch ex As Exception MsgBox(ex.Message) JoinLibelle = False Exit Function End Try JoinLibelle = True End Function 'Exemple d'utilisation : dim objXMl as New clsXML dim objGrammaire as New clsGrammaire dim Ds as New dataset dim Str_Path as String="C:\MonProjet\Type.xml" dim Str_Path2 as String="C:\MonProjet\Color.xml" If objXMl.XmltoDs(Str_Path, Ds) = False Then MsgBox("Problème de chargement du Fichier XML") Exit sub End If If objGrammaire.joinLibelle(Ds,Str_Path2,"LibColor","Couleur","ID","StrColor")=False Then MsgBox("Problème de Jointure Dataset/XML") Exit sub End If 'Ds va alors contenir les Champs TYPE+une colonne "LibColor" contenant les Valeurs de StrColor ou TYPE.Couleur=Color.ID
22 sept. 2005 à 15:03
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.