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

Windows Forms Discussion :

autre méthode textbox


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Enseignant
    Inscrit en
    Décembre 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 324
    Par défaut autre méthode textbox
    Bonjour,
    je suis en train de faire une application de gestion d'un stade(abonnés, spectateurs, etc...)
    Tout fonctionne, sauf que je cherche un moyen pour optimiser certaines opération.

    Le problème:
    Une tribune représenté par 108 TextBox. Pour remplir ces textbox j'utilise le code suivant:

    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
            Dim MyConnexion4 As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Application.StartupPath & "\Spectateur.mdb;Jet OLEDB:Database Password=philguio;")
            Dim Mycommand4 As OleDbCommand = MyConnexion4.CreateCommand()
            Dim place1529 As String
     
            MyConnexion4.Open()
            Mycommand4.CommandText = "SELECT NOM,prenom FROM T_ABONNES,T_TRIBUNE WHERE T_ABONNES.ID_SPECT = T_TRIBUNE.ID_SPECTATEUR AND T_TRIBUNE.PLACE = 1253"
            Dim myReader4 As OleDbDataReader = Mycommand4.ExecuteReader()
     
            myReader4.Read()
     
            Me.T1253.Text = myReader4.GetString(0) & " " & myReader4.GetString(1)
     
            myReader4.Close()
     
            MyConnexion4.Close()
    La solution que j'ai utiliser pour faire un test est d'affecter ce code à chaque TextBox
    J'ai constaté que l'execution du code était lent.
    Et je penses qu'il y a peut être une solution avec une boucle. Est ce possible de faire une routine pour éviter de créer une connexion et une requète SQL pour chaque Textox ???Incrémenté de i+1 par exemple.
    Merci par avance, une piste , une idée
    @+
    Philippe

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    wow, ca c'est ce qu'on appelle de la non optimisation !


    me dis pas que tu as 108 fois ce code !!!


    tu fais une requete globale et tu adresses les textbox au fur et à mesure
    par exemple que tes textbox aient un numéro
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.controls("t" & numero).text = valeur


    m'enfin ca pas non plus ce qu'il y a de plus propre, il faudrait voir si tu peux pas utiliser autre chose que des textbox ou les créer à la voler
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre Expert
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 183
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 183
    Par défaut
    Bonjour.

    Je suis d'accord avec Sperot51, le probléme est dans la conception même.

    Un composant d'affichage ne doit pas accéder à la BDD.

    Si je comprends bien, tu veux afficher l'occupation d'un gradin suivant les réservations effectuées.

    Donc, je pense que tu devrais d'abord charger l'intégralité des réservations, dans une classe "réservations" qui ne sera qu'une List de "réservation".

    La classe "réservations" mettra à disposition une méthode qui rendra pour une place donnée soit le nom de l'adhérent ayant réservé, soit rien s'il n'y à pas de réservation.

    Cette méthode sera utilisée par une classe héritant de textbox (et non pas pour chaque textbox de la form) pour afficher le nom du réservant.

    Cdt.

  4. #4
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Tu n'as pas la possibilité d'utiliser le framework 3.5 ? Enfin si tu en es au tout début de ton projet, en changeant pour WPF tu aurais moultes avantages divers, dont celui de profiter des DataTemplates pour le problème que tu évoques.

  5. #5
    Membre éclairé
    Profil pro
    Enseignant
    Inscrit en
    Décembre 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 324
    Par défaut
    Merci pour la réponse.
    En fait je suis novice et j'utilise depuis peu vb2008 express, alors je ne connais pas tout.
    Je regarde ce que vous venez de me donner. Et non je n'ai pas encore fait ça 108 fois, mais presque, c'est pour ça que j'ai posé la question (il y a 3000 places dans le stade, ouf)

    Merci et si je bloque je vous solliciterai.

    Philippe

  6. #6
    Membre éclairé
    Profil pro
    Enseignant
    Inscrit en
    Décembre 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 324
    Par défaut
    J'ai oublié en fait l'utilisateur entre les coordonnées d'un spectateur dans la base de données.
    Puis grâce aux textbox il choisi qui va sur quel emplacement puis j'enregistre dans une table réservation, dans la table il y a deja les numéros de toutes les places.

    voila c'était une petite précision
    @+
    Philippe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Injection avec une autre méthode que le setter.
    Par Tiaps dans le forum Spring
    Réponses: 2
    Dernier message: 22/05/2007, 23h37
  2. labelisation ou autre méthode
    Par deb_Sous_Python dans le forum Traitement d'images
    Réponses: 53
    Dernier message: 05/05/2007, 10h35
  3. rappeler un objet dans une autre méthode
    Par yodark dans le forum Langage
    Réponses: 2
    Dernier message: 17/01/2007, 22h08
  4. Autres méthodes pour remplacer des If
    Par carlou135 dans le forum C++
    Réponses: 7
    Dernier message: 17/01/2007, 02h44
  5. Réponses: 7
    Dernier message: 06/05/2006, 15h06

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