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 :

Stocker des valeurs


Sujet :

VB.NET

  1. #1
    Membre averti Avatar de ideox
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2014
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Décembre 2014
    Messages : 47
    Par défaut Stocker des valeurs
    Bonjour,
    J'aimerais savoir comment je pourrais stocker des données comme cela :
    Sur ma form1 l'utilisateur entre des informations de connexion tels que : Nom de compte / Mot de passe, si ses correct -> form2 apparait mais j'aimerai a l'aide du nom de compte entré dans la form1 l'utiliser dans ma requête qui est dans ma form2 style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query ="Select UserUID from blabla where UserID='"& TextNDC.Text &"'"
    Seulment TextNDC.Text n'est pas déclarée

    Merci

  2. #2
    Membre chevronné Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 339
    Par défaut
    Salut,
    Il suffit de déclarer une variable publique qui pourra être renseignée par le form1 et utilisée dans le form2.
    Pour cela :
    Au début de ton module (avant la première sub ou function), écrit par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Nom_utilisateur as String
    A plus.

  3. #3
    Membre averti Avatar de ideox
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2014
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Décembre 2014
    Messages : 47
    Par défaut
    Du coup je fait comment avec cela ?
    ??

    Merci

  4. #4
    Membre chevronné Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 339
    Par défaut
    En haut de ton module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public UserID as String
    Dans ton Form1 :
    Dans ton Form2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query ="Select UserUID from blabla where UserID='"& UserID &"'"

  5. #5
    Membre averti Avatar de ideox
    Homme Profil pro
    Collégien
    Inscrit en
    Décembre 2014
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Décembre 2014
    Messages : 47
    Par défaut
    Je dois mettre cela dans mon module de ma form 2 ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public UserID As String
    Car si je le met pas on me dit "& UserID &" n'est pas déclarée

  6. #6
    Membre chevronné Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 339
    Par défaut
    Oui tu dois le déclarer une fois en haut d'un module avec le préfixe "Public". Ceci rendre cette variable accessible dans l'ensemble de ton projet.

  7. #7
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Par défaut
    Personnellement j'aurais plutôt définit un constructeur prenant en paramètres les identifiants de connexion.. Les variables publiques étant généralement déconseillées :/

  8. #8
    Membre chevronné Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 339
    Par défaut
    Citation Envoyé par ZenZiTone Voir le message
    Personnellement j'aurais plutôt définit un constructeur prenant en paramètres les identifiants de connexion.. Les variables publiques étant généralement déconseillées :/
    Salut,
    Afin de comprendre, est ce que tu peux expliquer les défauts des variables publiques ?
    Pour utiliser un constructeur on doit utiliser une classe. Non ?

    Merci par avance pour tes éclaircissements.

  9. #9
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Par défaut
    Citation Envoyé par r.morel Voir le message
    Salut,
    Afin de comprendre, est ce que tu peux expliquer les défauts des variables publiques ?
    Pour utiliser un constructeur on doit utiliser une classe. Non ?

    Merci par avance pour tes éclaircissements.
    Si on souhaite utiliser une variable à l’extérieur d'une classe, on préfère utiliser des accesseurs (Get/Set). Si ta variable est publique elle pourrait être modifiée depuis l'extérieur de la form sans que cela soit contrôlé.

    Oui on doit utiliser une classe. Mais les formulaires sont des classes aussi. Si on en précise pas, c'est le constructeur par défaut qui est utilisé (qui, il me semble, fait juste un InitializeComponent)

  10. #10
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par ZenZiTone Voir le message
    Si ta variable est publique elle pourrait être modifiée depuis l'extérieur de la form sans que cela soit contrôlé.
    C'est seulement pour la "petite histoire" et surtout pas une question, puisque je m'y suis habitué et que ce n'est pas mauvais du tout. Je ne sais pas si c'est la version du Framework, de VB ou une option à quelque part; mais, chez moi, pour utiliser une variable publique, à l'extérieur de sa classe, je suis obligé de le faire de cette façon (en adaptant les les forms ou les classes) :

    (En supposant que je ne sois pas dans la Form1)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Arthur = my.forms.form1.Arthur
    Au début c'est fatigant, mais ce n'est pas mauvais du tout pour la discipline.

  11. #11
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Par défaut
    Citation Envoyé par clementmarcotte Voir le message
    C'est seulement pour la "petite histoire"
    (En supposant que je ne sois pas dans la Form1)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Arthur = my.forms.form1.Arthur
    Je ne connaissais pas cette façon d’accéder aux forms d'un projet, c'est bon à savoir.

    Concernant la proposition de r.morel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public UserID as String
    je proposerais plutôt ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private _UserID as String
    Public Property UserID as String
    Get
    Return _UserID
    End
    Set(value As String) 
    _UserID = value
    End 
    End Property

  12. #12
    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
    my.forms vous oubliez tout de suite, effet de bord garanti sur des projets non basiques
    un module avec une variable publique est 100x mieux que ca ^^

    c'est vb qui permet cette écriture (et une pire pour faire la même chose) mais le principe d'une classe c'est qu'il peut y avoir plusieurs instance à un instant T et cette syntaxe pointe vers une instance au (semi) hasard
    (donc si on ouvre 2x form2 (qui affiche des infos sur un truc par exemple) alors cette syntaxe devient bancale

    une propriété dans un module c'est sans soucis (une propriété shared dans une classe c'est un poil mieux, je ne crois pas qu'il soit possible de mettre un event dans un module (à vérifier))
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  13. #13
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par Pol63 Voir le message
    my.forms vous oubliez tout de suite, effet de bord garanti sur des projets non basiques
    un module avec une variable publique est 100x mieux que ca ^^
    Une autre chose que j'ignorais.Merci pour l'info.

Discussions similaires

  1. Réponses: 6
    Dernier message: 09/12/2007, 14h32
  2. [VBA-O] Stocker des valeurs de variables
    Par Elstak dans le forum VBA Outlook
    Réponses: 7
    Dernier message: 16/08/2006, 08h38
  3. vb6: Stocker des valeurs récupérés dans un TextBox sous excel
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 32
    Dernier message: 19/07/2006, 16h12
  4. Meilleur type table pour stocker des valeurs numérique
    Par vodevil dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/04/2006, 20h42
  5. stocker des valeurs de type différent
    Par jakouz dans le forum Langage
    Réponses: 3
    Dernier message: 28/11/2005, 09h36

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