[visual basic] xml et vb 2005

Fermé
orelyw - 7 mars 2007 à 13:22
 ikrame - 27 mai 2008 à 13:38
Bonjour,
j'ai énormément besoin d'aide. Voila je débute en visual basic 2005 express (enfin en visual basic tout court je débute).

Voila ce qu"il faut que je fasse pour mon stage:
J'ai une base de données sous acces (qui gère les patients et médecins)
J'ai fait une interface graphique avec vb et je peux maintenant ajouter , supprimer et modifier des patients dans la base de données

Bon ça en fait j'ai appri que c'était juste la première étape pour me familiariser avec vb.

Maintenant il faut que j'accède a ma base de données avec du xml, que je puisse lire et modifier le xml et donc modifier par la suite ma base de données.

Le problème c'est que je sais pas comment faire, il faut que je fasse appel à des fichier xml dans mon .vb mais je sais pas comment. J'ai regarder sur le net, mais j'ai trouver que pour vb.net or moi c'est sous vb 2005 express.

s'il vous plait aider moi, c'est assez urgent et très important
merci d'avance


voici mon programme d'origine :



Option Explicit On
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports System.Xml


Public Class Patient
'Déclarer la connexion
Private ObjetConnection As OleDbConnection
' Déclaration l'Objet Commande
Private ObjetCommand As OleDbCommand
' Déclaration Objet DataAdapter
Private ObjetDataAdapter As OleDbDataAdapter
' Déclaration Objet DataSet
Private ObjetDataSet As New DataSet
'String contenant la 'Requête SQL'
Private strSql As String
' Déclaration Objet DataTable
Private ObjetDataTable As DataTable
' Déclaration Objet DataRow (ligne)
Private ObjetDataRow As DataRow
'Paramêtres de connexion à la DB
Private strConn As String
'Numéro de la ligne en cours
Private RowNumber As Integer 'Numéro de l'enregistrement courant
Private x As Integer
'Pour recompiler les données modifiées avant de les remettre dans le
'"DataAdapter"
Private ObjetCommandBuilder As OleDbCommandBuilder

'Permet d'instancier un objet patient et d'utiliser ses propriétés:
Private m_id_pat As Integer
Private m_ref_civilite As Integer
Private m_nom As String
Private m_prenom As String
Private m_date_naissance As Date
Private m_adresse As String
Private m_code_postal As Integer
Private m_ville As String
Private m_ref_pays As Integer
Private m_tel_fixe As String
Private m_tel_mobile As String
Private m_email As String
Private m_sexe As String

'créer l'objet DOM :
'Ceci permettra à votre document d'être accessible de n'importe ou dans le programme
Dim caracteristiquePatientDoc As New XmlDocument

Public Function LoadXMLValues() As String
Dim commands As XmlNodeList
Dim caracteristiquePatientNode As XmlNode
commands = caracteristiquePatientDoc.SelectNodes("//CARACTERISTIQUEPATIENT")
caracteristiquePatientList.Clear()
For Each caracteristiquePatientNode In commands
caracteristiquePatientList.AddItem(caracteristiquePatientNode.SelectSingleNode("nom").Text)
Next
ListBoxAfficherPatient.ListIndex = 0
End Function

''' <summary>
''' Acces au table Medecin et Patient
''' </summary>

Private Sub Patient_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'code permettant le chargement :
caracteristiquePatientDoc.Load("C:\Documents and Settings\admin.LPD09\Bureau\Aurelie.Wynant\CEFRED8\XML\cefred8.xml")

'TODO : cette ligne de code charge les données dans la table 'MedecinBDDataSet.Patient'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
Me.PatientTableAdapter.Fill(Me.MedecinBDDataSet.Patient)
'TODO : cette ligne de code charge les données dans la table 'MedecinBDDataSet.Medecin'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
Me.MedecinTableAdapter.Fill(Me.MedecinBDDataSet.Medecin)
'TODO : cette ligne de code charge les données dans la table 'MedecinBDDataSet.Civilite'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
Me.CiviliteTableAdapter.Fill(Me.MedecinBDDataSet.Civilite)

'Initialisation de la chaîne de paramètres pour la connexion
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= c:\Documents and Settings\admin.LPD09\Bureau\Aurelie.Wynant\medecinBD.mdb;"
'Initialisation de la chaîne contenant l'instruction SQL
'on sélectionne tous les champs de la table Patient rangé
'dans(l) 'ordre alphabétique des nom
strSql = "SELECT * FROM Patient order by nom"
'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, "Patient")
'Mettre dans un Objet DataTable une table du DataSet
ObjetDataTable = ObjetDataSet.Tables("Patient")

'Indiquer au ListBox d'afficher la table "fichepatient"
'(indiquer la source)
ListBoxAfficherPatient.DataSource = ObjetDataSet.Tables("Patient")

'Indiquer quelle colonne afficher :affiche dans la ListBoxAfficherPatient
'que les noms des patients
ListBoxAfficherPatient.DisplayMember = "nom"

'Le PanelCaractéristiquePatient n'est pas visible
PanelCaracteristiquePatient.Enabled = False
'Le Panel contenant le bouton valider patient n'est pas visible
PanelAjoutPatient.Enabled = False
'Le Panel contenant le bouton valider modification n'est pas visible
PanelValiderModificationPatient.Enabled = False
'Le PanelCaractéristiquePatient n'est pas visible
'evite de pouvoir faire des modifications sans le vouloir
PanelCaracteristiquePatient.Enabled = False
'Le Panel qui comporte les boutons Supprimer et Modifier est désactivé
'evite de pouvoir supprimer ou modifier un patient sans le vouloir
PanelSupprimerModifierPatient.Enabled = False

'Selectionne par défaut le 1er patient et donne ces caractéristiques
If RowNumber < 0 Then Exit Sub
'Lors de l'ouverture de la BD, s'il n'y a aucun enregistrement
If RowNumber > ObjetDataTable.Rows.Count - 1 Then Exit Sub

'ObjetTable.Rows(Numéro de lignes).Item( Nom de colonne) donne le contenu d'un champ dans une ligne donnée
Id_patTextBox.Text = ObjetDataTable.Rows(RowNumber).Item("Id_pat").ToString
Ref_civiliteComboBox.Text = ObjetDataTable.Rows(RowNumber).Item("Ref_civilite").ToString
NomTextBox.Text = ObjetDataTable.Rows(RowNumber).Item("Nom").ToString
PrenomTextBox.Text = ObjetDataTable.Rows(RowNumber).Item("Prenom").ToString
Date_naissanceTextBox.Text = ObjetDataTable.Rows(RowNumber).Item("Date_naissance").ToShortDateString
AdresseTextBox.Text = ObjetDataTable.Rows(RowNumber).Item("Adresse").ToString
Code_postalTextBox.Text = ObjetDataTable.Rows(RowNumber).Item("Code_postal").ToString
VilleTextBox.Text = ObjetDataTable.Rows(RowNumber).Item("Ville").ToString
Ref_paysTextBox.Text = ObjetDataTable.Rows(RowNumber).Item("Ref_pays").ToString
Tel_fixeTextBox.Text = ObjetDataTable.Rows(RowNumber).Item("Tel_fixe").ToString
Tel_mobileTextBox.Text = ObjetDataTable.Rows(RowNumber).Item("Tel_mobile").ToString
EmailTextBox.Text = ObjetDataTable.Rows(RowNumber).Item("Email").ToString
SexeComboBox.Text = ObjetDataTable.Rows(RowNumber).Item("Sexe").ToString
'Item peut avoir en paramètre le nom de la colonne ou sont index



End Sub


''' <summary>
''' Affichage caractéristique d'un patient
''' </summary>

Private Sub ListBoxAfficherPatient_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBoxAfficherPatient.Click
'If RowNumber < 0 Then Exit Sub
'Lors de l'ouverture de la BD, s'il n'y a aucun enregistrement
'If RowNumber > ObjetDataTable.Rows.Count - 1 Then Exit Sub
'ObjetTable.Rows(Numéro de lignes).Item( Nom de colonne) donne le contenu d'un champ dans une ligne donnée
'x est le numéro de la ligne sélectionné dans la ListBox
x = ListBoxAfficherPatient.SelectedIndex
'affiche dans les TextBox et ComboBox les caractéristiques du patient sélectionné dans la ListBox
Id_patTextBox.Text = ObjetDataTable.Rows(x).Item("Id_pat").ToString
Ref_civiliteComboBox.Text = ObjetDataTable.Rows(x).Item("Ref_civilite").ToString
NomTextBox.Text = ObjetDataTable.Rows(x).Item("Nom").ToString
PrenomTextBox.Text = ObjetDataTable.Rows(x).Item("Prenom").ToString
Date_naissanceTextBox.Text = ObjetDataTable.Rows(x).Item("Date_naissance").ToShortDateString
AdresseTextBox.Text = ObjetDataTable.Rows(x).Item("Adresse").ToString
Code_postalTextBox.Text = ObjetDataTable.Rows(x).Item("Code_postal").ToString
VilleTextBox.Text = ObjetDataTable.Rows(x).Item("Ville").ToString
Ref_paysTextBox.Text = ObjetDataTable.Rows(x).Item("Ref_pays").ToString
Tel_fixeTextBox.Text = ObjetDataTable.Rows(x).Item("Tel_fixe").ToString
Tel_mobileTextBox.Text = ObjetDataTable.Rows(x).Item("Tel_mobile").ToString
EmailTextBox.Text = ObjetDataTable.Rows(x).Item("Email").ToString
SexeComboBox.Text = ObjetDataTable.Rows(x).Item("Sexe").ToString
'Item peut avoir en paramètre le nom de la colonne ou sont index

'Le PanelCaractéristiquePatient n'est pas visible
PanelCaracteristiquePatient.Enabled = False
'Le Panel qui comporte les boutons Supprimer et Modifier est activé
PanelSupprimerModifierPatient.Enabled = True
'Le Panel contenant le bouton valider modification n'est pas visible
PanelValiderModificationPatient.Enabled = False
'Le Panel contenant le bouton valider patient n'est pas visible
PanelAjoutPatient.Enabled = False
End Sub


''' <summary>
''' Modification d'un patient
''' </summary>

Private Sub ButtonModifierPatient_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonModifierPatient.Click
' Le PanelCaracteristiquePatient devient visible
PanelCaracteristiquePatient.Enabled = True
'Le Panel contenant le bouton valider modification n'est pas visible
PanelValiderModificationPatient.Enabled = True
'Le Panel contenant le bouton valider patient n'est pas visible
PanelAjoutPatient.Enabled = False
End Sub


''' <summary>
''' Validation des modifications
''' </summary>

Private Sub ButtonValiderModificationPatient_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonValiderModificationPatient.Click
'Modifier un enregistrement:
' Extraire l'enregistrement courant
ObjetDataRow = ObjetDataSet.Tables("Patient").Rows(x)
'Modifier les valeurs des champs en récupérant le contenu des TextBox
ObjetDataRow("id_pat") = Id_patTextBox.Text
ObjetDataRow("ref_civilite") = Ref_civiliteComboBox.Text
ObjetDataRow("nom") = NomTextBox.Text
ObjetDataRow("prenom") = PrenomTextBox.Text
ObjetDataRow("date_naissance") = Date_naissanceTextBox.Text
ObjetDataRow("adresse") = AdresseTextBox.Text
ObjetDataRow("code_postal") = Code_postalTextBox.Text
ObjetDataRow("ville") = VilleTextBox.Text
ObjetDataRow("Ref_pays") = Ref_paysTextBox.Text
ObjetDataRow("tel_fixe") = Tel_fixeTextBox.Text
ObjetDataRow("tel_mobile") = Tel_mobileTextBox.Text
ObjetDataRow("email") = EmailTextBox.Text
ObjetDataRow("sexe") = SexeComboBox.Text

'Pour modifier les valeurs changées dans le DataAdapter
ObjetCommandBuilder = New OleDbCommandBuilder(ObjetDataAdapter)
'Mise à jour
ObjetDataAdapter.Update(ObjetDataSet, "Patient")

'On vide le DataSet et on le 'recharge' de nouveau.
ObjetDataSet.Clear()
ObjetDataAdapter.Fill(ObjetDataSet, "Patient")
ObjetDataTable = ObjetDataSet.Tables("Patient")

'Le PanelCaractéristiquePatient n'est pas visible
PanelCaracteristiquePatient.Enabled = False
'Le Panel contenant le bouton valider modification n'est pas visible
PanelValiderModificationPatient.Enabled = False
End Sub


''' <summary>
''' Gestion ButtonNouveauPatient
''' </summary>

Private Sub ButtonNouveauPatient_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonNouveauPatient.Click
' Le PanelCaracteristiquePatient devient visible
PanelCaracteristiquePatient.Enabled = True
'Le Panel contenant le bouton valider patient est visible
PanelAjoutPatient.Enabled = True

ObjetDataRow = ObjetDataSet.Tables("Patient").NewRow()
ListBoxAfficherPatient.SelectedItem = ObjetDataRow
'Le Panel qui comporte les boutons Supprimer et Modifier est désactivé
'evite de pouvoir supprimer ou modifier un patient sans le vouloir
PanelSupprimerModifierPatient.Enabled = False
'Le Panel contenant le bouton valider modification n'est pas visible
'PanelValiderModificationPatient.Enabled = False

'on met les ComboBox et TextBox à vide
Id_patTextBox.Text = ""
Ref_civiliteComboBox.Text = ""
NomTextBox.Text = ""
PrenomTextBox.Text = ""
Date_naissanceTextBox.Text = "jj/mm/aaaa"
AdresseTextBox.Text = ""
Code_postalTextBox.Text = ""
VilleTextBox.Text = ""
Ref_paysTextBox.Text = ""
Tel_fixeTextBox.Text = ""
Tel_mobileTextBox.Text = ""
EmailTextBox.Text = ""
SexeComboBox.Text = ""
End Sub


''' <summary>
''' Validation de l'ajout du patient
''' </summary>

Private Sub ButtonValiderAjoutPatient_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonValiderAjoutPatient.Click
'on récupère toutes les caractéristiques du patient
ObjetDataRow("id_pat") = Id_patTextBox.Text
ObjetDataRow("ref_civilite") = Ref_civiliteComboBox.Text
ObjetDataRow("nom") = NomTextBox.Text
ObjetDataRow("prenom") = PrenomTextBox.Text
ObjetDataRow("date_naissance") = Date_naissanceTextBox.Text
ObjetDataRow("adresse") = AdresseTextBox.Text
ObjetDataRow("code_postal") = Code_postalTextBox.Text
ObjetDataRow("ville") = VilleTextBox.Text
ObjetDataRow("ref_pays") = Ref_paysTextBox.Text
ObjetDataRow("tel_fixe") = Tel_fixeTextBox.Text
ObjetDataRow("tel_mobile") = Tel_mobileTextBox.Text
ObjetDataRow("email") = EmailTextBox.Text
ObjetDataRow("sexe") = SexeComboBox.Text
ObjetDataSet.Tables("Patient").Rows.Add(ObjetDataRow)

'Pour modifier les valeurs changées dans le DataAdapter
ObjetCommandBuilder = New OleDbCommandBuilder(ObjetDataAdapter)
'Mise à jour
ObjetDataAdapter.Update(ObjetDataSet, "Patient")

'On vide le DataSet et on le 'recharge' de nouveau.
ObjetDataSet.Clear()
ObjetDataAdapter.Fill(ObjetDataSet, "Patient")
ObjetDataTable = ObjetDataSet.Tables("Patient")

'Le PanelCaractéristiquePatient n'est pas visible
PanelCaracteristiquePatient.Enabled = False
'Le Panel contenant le bouton valider patient n'est pas visible
PanelAjoutPatient.Enabled = False

End Sub


''' <summary>
''' Suppression du patient sélectionné
''' </summary>

Private Sub ButtonSupprimerPatient_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSupprimerPatient.Click
'quand on clique sur le bouton "supprimé" un MsgBox apparait pour confirmation de la suppression
Dim Sup
Sup = MsgBox("Veuillez confirmer la suppression du fichier", vbCritical + vbYesNo + 256, "Attention")
'si on confirme
If Sup = vbYes Then
'un autre MsgBox s'ouvre pour dire la suppression a bien eu lieu
MsgBox("Suppression confirmée")
'on supprime le patient sélectionné dans la liste
ObjetDataTable.Rows(x).Delete()
End If
'Sinon on fait rien

'Pour modifier les valeurs changées dans le DataAdapter
ObjetCommandBuilder = New OleDbCommandBuilder(ObjetDataAdapter)
'Mise à jour
ObjetDataAdapter.Update(ObjetDataSet, "Patient")

'On vide le DataSet et on le 'recharge' de nouveau.
ObjetDataSet.Clear()
ObjetDataAdapter.Fill(ObjetDataSet, "Patient")
ObjetDataTable = ObjetDataSet.Tables("Patient")

'Le PanelCaractéristiquePatient n'est pas visible
PanelCaracteristiquePatient.Enabled = False
'Le Panel contenant le bouton valider patient n'est pas visible
PanelAjoutPatient.Enabled = False
End Sub

End Class
A voir également:

3 réponses

up
0
met encore plus de code si tu veux des rep. down
0
je veux savoir comment déplacer le contenu séléctionner dans une listbox à une autre par button
et merci avnt tous
0