IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Rafraichir les données d'une listebox


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 193
    Points : 66
    Points
    66
    Par défaut Rafraichir les données d'une listebox
    Bonjour,

    voila je travail actuellemement avec une base de données access, je mets a jours la listebox au load de la page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & "C:\Pointage\pointage.mdb")
            Dim Mycommand As OleDbCommand = MyConnexion.CreateCommand()
     
            MyConnexion.Open()
            Mycommand.CommandText = "SELECT * FROM Zones ORDER BY nom_Zone"
            Dim myReader As OleDbDataReader = Mycommand.ExecuteReader()
     
            Do While myReader.Read()
                ListBox1.Items.Add(myReader.GetString(1))
            Loop
            myReader.Close()
            MyConnexion.Close()
        End Sub
    Tous ca se passe bien, maintenant j'ai sur ma page une bouton qui me permet d'ajouter une element dans ma base de données.
    que je clic dessus, voici le code qu'il execute :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
            If TextBox1.Text = "" Then
                MsgBox("vous devez remplir le champ pour pouvoir ajouter une zone")
            Else
                Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & "C:\Pointage\pointage.mdb")
                Dim Mycommand As OleDbCommand = MyConnexion.CreateCommand()
     
                MyConnexion.Open()
                Mycommand.CommandText = "INSERT INTO Zones (nom_Zone) VALUES ('" + TextBox1.Text.ToString + "')"
                Mycommand.ExecuteNonQuery()
                MyConnexion.Close()
            End If
            ListBox1.DataBind()
        End Sub
    La base de données est bien mise à jours, mais mon nouvel élément n'apparait pas dans ma liste box ! comment dois je faire pour mettre a jours cette liste box ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    ben comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListBox1.Items.Add(TextBox1.Text)

  3. #3
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Points : 658
    Points
    658
    Par défaut
    Tu mets tout ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & "C:\Pointage\pointage.mdb")
            Dim Mycommand As OleDbCommand = MyConnexion.CreateCommand()
     
            MyConnexion.Open()
            Mycommand.CommandText = "SELECT * FROM Zones ORDER BY nom_Zone"
            Dim myReader As OleDbDataReader = Mycommand.ExecuteReader()
     
            Do While myReader.Read()
                ListBox1.Items.Add(myReader.GetString(1))
            Loop
            myReader.Close()
            MyConnexion.Close()
    dans un fonction que tu nommes ListBox1Fill() par exemple. Le mieux serait d'extraire la partie connexion a la base de données qui n'a rien a voir a ce moment la avec ta fonction. Ensuite tu appel ListBox1Fill() dans ton Load() et dans l'evenemnt ButtonCLick(), le tour est joué.
    Apres tout depend de ce que tu souhaite faire, la solution de TomLev est toute simple aussi.
    Remarque: si tu veux que ta listbox soit "rafraichit" a chaque fois que tu fais une modif sur ta table, tu devrais pllutôt cherche du cotes des dataset, non?

  4. #4
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Mai 2006
    Messages : 76
    Points : 62
    Points
    62
    Par défaut
    Salut

    j'ai eu le meme soucis que toi que j'ai pu résoudre ( sau f que moi je travail sous ORACLE) cela n'empeche que la programmation reste la meme.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            conn.Open()
            Me.AfficheRow(conn.ConnectionString)
     
        End Sub
     
     
    Public Sub InsertRow(ByVal connectionString As String)
    Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & "C:\Pointage\pointage.mdb")
            Dim Mycommand As OleDbCommand = MyConnexion.CreateCommand()
     
            MyConnexion.Open()
            Mycommand.CommandText = "SELECT * FROM Zones ORDER BY nom_Zone"
            Dim myReader As OleDbDataReader = Mycommand.ExecuteReader()
     
            Do While myReader.Read()
                ListBox1.Items.Add(myReader.GetString(1))
            Loop
            myReader.Close()
            MyConnexion.Close()
        End Sub
     
     
     
    Public Sub InsertRow(ByVal connectionString As String)
     
      If TextBox1.Text = "" Then
                MsgBox("vous devez remplir le champ pour pouvoir ajouter une zone")
            Else
                Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & "C:\Pointage\pointage.mdb")
                Dim Mycommand As OleDbCommand = MyConnexion.CreateCommand()
     
                MyConnexion.Open()
                Mycommand.CommandText = "INSERT INTO Zones (nom_Zone) VALUES ('" + TextBox1.Text.ToString + "')"
                Mycommand.ExecuteNonQuery()
                MyConnexion.Close()
            End If
            ListBox1.DataBind()
     
    end sub
     
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt_Ajouter.Click
            Me.InsertRow(conn.ConnectionString)
            Me.List_Intervention.Items.Clear()
            Me.AfficheRow(conn.ConnectionString)
        End Sub
    j'espere t'avoir aidé

    ____________________________
    suis-moi je te fuis

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/08/2013, 20h52
  2. [AC-2003] Rafraichir les tables d'une base de données externe
    Par hannii dans le forum VBA Access
    Réponses: 1
    Dernier message: 29/08/2009, 11h47
  3. rafraichir les donnée d'une combobox
    Par qbihlmaier dans le forum IHM
    Réponses: 1
    Dernier message: 06/12/2005, 19h07
  4. [VB+Lotus Notes] Lire les données d'une DB Lotus
    Par kenn dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 25/08/2005, 15h21
  5. transformer les données d'une table .dbf vers ma BD
    Par djouahra.karim1 dans le forum Bases de données
    Réponses: 2
    Dernier message: 30/11/2004, 09h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo