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 :

problème d'affichage dans listbox


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 102
    Points : 56
    Points
    56
    Par défaut problème d'affichage dans listbox
    Bonjour,

    J'ai repris un programme écrit en VB.NET qui fonction en MVC(Model, Control,
    View) donc j'ai 4 parties les 3 citées en haut et le programme normal.

    Je dois faire une listBox qui doit afficher les heures de travail d'une machine. Ces heures je les récupère dans une BDD.
    Mon soucis d'affichage c'est que je n'arrive pas a afficher l'heure correct dans ma listBox, elle m'affiche toujours 00:00:00 au lieu de 08:00:00 par exemple.

    J'ai testé ma requete sur SQL Serveur, elle fonctionne bien j'ai bien toutes les heures qui s'affichent.

    Si quelqu'un peut m'aider plz je n'arrive pas a trouver pourquoi mon heure change pas.

    Voici mon code :

    Le code du programme normal:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            Dim idMachine As Integer
            viewChoixMacPoste.viewAffichPosteListBox(idMachine)
            Dim HFinPoste2 As Date
            Dim HDebPoste2 As Date
            Dim JProd As Date
            JProd = curOutputDay
            If Me.CB_NumMach.SelectedValue = 13 Then
     
                ListBox1.Items.Add(HDebPoste2 & "   " & HFinPoste2 & "   " & JProd)
     
            End If
    Le code du prigramme View:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    controlChoixMacPoste.controlAffichPosteListBox(idMachine)
    Le code du programme control:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Function controlAffichPosteListBox(ByVal chiffre2 As Integer) As String
            Dim HFinposte2 As Date = Nothing
            HFinposte2 = modelChoixMacPoste.modelAffichPosteListBox(chiffre2)
            Return HFinposte2
        End Function
    Le code du programme model:

    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
        Public Function modelAffichPosteListBox(ByVal idMachine As Integer) As Date
            Dim HFinPoste2 As Date = Nothing
            Dim datetest As Date = "19/09/2008 05:00:00"
            Dim IDMACHIN As Integer = 13
     
    Requete = "SELECT DISTINCT (EMO.HDEB_POSTE_EVENT_MACHINE_OEE) ,  EMO.HFIN_POSTE_EVENT_MACHINE_OEE, PO.NOM_LONG_POSTE_OEE, EMO.JPROD_EVENT_MACHINE_OEE 
    FROM EVENT_MACHINE_OEE EMO, POSTE_OEE PO 
    WHERE PO.ID_POSTE_OEE = EMO.ID_POSTE_OEE 
    AND EMO.ID_MACHINE_OEE = " & IDMACHIN & " 
    AND JPROD_EVENT_MACHINE_OEE = " & datetest & " 
    ORDER BY EMO.HDEB_POSTE_EVENT_MACHINE_OEE DESC"
     
    Try
                reader = connection.GetAReader(Requete)
                HFinPoste2 = reader("HFIN_POSTE_EVENT_MACHINE_OEE")
            Catch ex As Exception
            End Try
            reader.Close()
     
            connection.CloseConnection()
     
            Return HFinPoste2
     
        End Function

  2. #2
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    je dois pas être très très réveillé, mais je vois pas le lien entre le premier bout de code et le suivant...


    En plus, je ne vois pas ou tu affectes les valeurs de HDebPoste2 et de HFinPoste2...

  3. #3
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2003
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2003
    Messages : 201
    Points : 182
    Points
    182
    Par défaut
    Bonjour à toi,


    primo, je ne vois pas ou ta variable HDebposte2 est remplis

    2, je comprends comment tu voulais programmer le tout, mais ca me semble un peu mélangé...quoi que moi aussi je ne dois pas etre réveillé ?

    je te conseil de mettre des points d'arrêts et de t'assurer que tes valeurs sont bien transmise (moi je crée des variable de test que je remplis pour voir si tout ce passe bien

    bien bonne chance a toi...quoi que je suis sur que ton code pourrait etre plus simple pour ce genre de fonction

  4. #4
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 102
    Points : 56
    Points
    56
    Par défaut
    Bonjour oui je sais moi aussi j'aime pas trop comment la personne d'avant a commencer le code mais je dois continuer comme ca

    Ensuite je passe au auter code grâce au ligne suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    viewChoixMacPoste.viewAffichPosteListBox(idMachine)
    Cette ligne permet de passer a la fonction "AffichPosteListBox" dans le code de View.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    controlChoixMacPoste.controlAffichPosteListBox(idMachine)
    Cette ligne permet de passer a la fonction "AffichPosteListBox" dans le code de control.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HFinposte2 = modelChoixMacPoste.modelAffichPosteListBox(chiffre2)
    Cette ligne permet d'affecter a HFinposte2 la requete qui se fait dans la fonction "modelAffichPosteListBox" dans le code de model.

    Et j'ai fait comme la personne d'avant, j'affecte ma variable HFinposte2 dans le de ma partie model.

  5. #5
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 102
    Points : 56
    Points
    56
    Par défaut
    Je viens de faire un débogage sur deux fonctions une qui marche et celle qui marche et je me suis aperçu que dans ma fonction qui marche pas, que dans le TRY de ma partie model au moment ou je dit que ma variable

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HFinPoste2 = reader("HFIN_POSTE_EVENT_MACHINE_OEE")
    le debogage saute cette ligne alors que sur la fonction qui marche ca passe et que ma fonction s'appuie sur celle la.

  6. #6
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    ok...


    alors, premier conseil, si tu fais un try/catch, sans code dans le catch, ca ne sert a rien, tu fais disparaitre l'exception...ce qui t'arrive en ce moment

    ce qui se passe, a mon humble avis, c'est que dans cette instruction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reader = connection.GetAReader(Requete)
    tu as une exception-> tu passe dans le catch de ton try catch, qui ne fait rien...

    essaye d'enlever le try/catch, tu devrais voir une exception remonter

    Et dans un deuxieme temps, soit tu enleves tous ces try/catch, soit tu remontes une autre exception, un message, ou un log pour pouvoir avoir l'info que ton programme plante, par ce que ce que tu fais, ca s'appelle de l'exception swallowing, et c'est mal

    Et dans un troisieme temps, tu transformes tes requetes en requetes parametrees, et ca t'evitera que tes requetes plantent parce que tu as un pb de formatage de tes champs de date (biscotte a vue de nez, je dirais que c'est ca qui te fait planter )

  7. #7
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 102
    Points : 56
    Points
    56
    Par défaut
    ce qui se passe, a mon humble avis, c'est que dans cette instruction:

    Code :
    reader = connection.GetAReader(Requete)
    tu as une exception-> tu passe dans le catch de ton try catch, qui ne fait rien...
    Tu as raison c'est ce que ca fait par contre ma fonction qui est juste au dessus ùarche et pourtant c'est quasiment la même à quelquels détails près

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Function HfinDernierPoste(ByVal idMachine As Integer) As Date
            Dim HFinPoste As Date
            Requete = "SELECT TOP(1) EMO.HFIN_POSTE_EVENT_MACHINE_OEE From EVENT_MACHINE_OEE EMO WHERE ID_MACHINE_OEE =" & idMachine & " ORDER BY EMO.HFIN_POSTE_EVENT_MACHINE_OEE DESC" 'Form_CHOIX_MAC_POSTE_OEE.CB_NumMach.SelectedValue
            Try
                reader = connection.GetAReader(Requete)
                HFinPoste = reader("HFIN_POSTE_EVENT_MACHINE_OEE")
     
            Catch sqlEx As SqlException
            End Try
            connection.CloseConnection()
            Return HFinPoste
        End Function
    Comme tu peux le constater

Discussions similaires

  1. Problème d'affichage dans une listbox
    Par swap_nibble dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 25/01/2008, 17h29
  2. Problème d'affichage dans un tableau
    Par claralavraie dans le forum ASP
    Réponses: 13
    Dernier message: 21/12/2005, 15h45
  3. [JSTL] Problème d'affichage dans un <c:forEach>
    Par zwck dans le forum Taglibs
    Réponses: 6
    Dernier message: 05/11/2005, 21h35
  4. Problème d'affichage dans un composant TScrollBox
    Par erossi dans le forum Composants VCL
    Réponses: 3
    Dernier message: 14/09/2005, 11h29
  5. [débutant]problèmes d'affichage dans un tableau
    Par Hastur dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 16/08/2005, 12h00

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