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 :

afficher et ajouter/enregistrer le sexe d'un employé


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut afficher et ajouter/enregistrer le sexe d'un employé
    Bonjour tout le monde,

    Voila je suis entrain de réaliser une application que mon professeur d'informatique m'a donné à faire mais j'ai deux petits soucis.
    Je travail en C# sous VisualStudio 2005 avec une base de données sous le SGBD SqlServer 2000.

    A Savoir :
    * Dans ma base j'ai 2 tables ("employé", "service").
    * Dans ma form j'utilise un dataAdapteur et un DataSet relié à ma table "employé".

    Sujet de l'application
    :
    c'est la gestion du personnel d'une entreprise.

    Ce que je compte faire :
    1er problème -> Dans ma form, j'affiche les données concernant les employés, j'ai 2 bouton radio ("rb_masculin" et "rb_feminin") correspondant au sexe de l'employé. Dans ma base plus précisément dans la table "employé", j'ai un champ se nommant sexe qui prend comme valeur soit "m"(=masculin) soit "f"(=feminin).
    J'aimerais savoir comment je peux faire pour par exemple cocher le "rb_masculin" lorsque dans le champ de la table la valeur est "m"??
    voici le code qui me permet d'afficher les données des employés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public partial class Fm_employe : Form
        {
            public Fm_employe()
            {
                InitializeComponent();
                dbDs_employe1.Clear();
                dbAd_employe.Fill(dbDs_employe1, "tp1_employe");
                dbAd_service.Fill(dbDs_employe1, "tp1_service");
    affichePosCpt();
            }
    2éme problème -> Ma form me permet également d'ajouter des employés, mon problème est lors de l'enregistrement du nouveau employé.
    Par exemple si c'est le "rb_masculin" qui est coché, je souhaiterais savoir comment je peux faire pour que dans le champ de ma table, la valeur soit "m"??
    Voici le code permettant d'enregistrer dans la base
    :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            private void bt_validation_Click(object sender, EventArgs e)
            {
                DialogResult dr = MessageBox.Show("Voulez-vous sauvegarder tout les changements?", "Sauvegarder et Quitter l'application", MessageBoxButtons.YesNo);
                if (dr == DialogResult.Yes)
                {
                    this.BindingContext[dbDs_employe1, dbDs_employe1.tp1_employe.TableName].EndCurrentEdit();
                    dbAd_employe.Update(dbDs_employe1, dbDs_employe1.tp1_employe.TableName);
                }
            }
    Merci d'avance.

  2. #2
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Autant que je sache, binder sur les RadioButtons n'est pas possible. Faut le faire à la main.

    Donc au chargement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    this.rb_masculin.Checked = (tonDataRowCourant["Sexe"] == "m");
    this.rb_feminin.Checked = !this.rb_masculin.Checked;
    Et à la sauvegarde :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonDataRowCourant["Sexe"] = this.rb_masculin.Checked ? "m" : "f";
    ಠ_ಠ

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à Guulh
    Bonjour,

    Merci beaucoup pour ta réponse mais j'ai besoin d'une précision.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Autant que je sache, binder sur les RadioButtons n'est pas possible. Faut le faire à la main.
     
    Donc au chargement :
    Code :
     
    this.rb_masculin.Checked = (tonDataRowCourant["Sexe"] == "m");
    this.rb_feminin.Checked = !this.rb_masculin.Checked;
    qu'entend tu par "tonDataRowCourant"??
    que veux dire le "!" de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    !this.rb_masculin.Checked;
    ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Et à la sauvegarde :
    Code :
     
    tonDataRowCourant.Checked = this.rb_masculin.Checked ? "m" : "f";
    Que signifie le "?" et les ":"??

    Merci d'avance pour tes explications.

  4. #4
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    tonDataRowCourant : tu dis que tu présentes des données d'un record dans une form. tonDataRowCourant, c'est le record que t'es en train de présenter.

    le point d'exclamation, ça veut dire non. ca transforme true en false et false en true. Donc quand l'un est coché (Checked), l'autre ne l'est pas.

    et pour le couple "? :" : http://msdn.microsoft.com/fr-fr/libr...28(VS.80).aspx , ça équivaut à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (this.rb_masculin.Checked)
      tonDataRowCourant["Sexe"] = "m";
    else
      tonDataRowCourant["Sexe"] = "f";
    J'ai corrigé mon post initial : il fallait lire tonDataRowCourant["Sexe"] et non pas tonDataRowCourant.Checked.
    ಠ_ಠ

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à Guulh
    tonDataRowCourant : tu dis que tu présentes des données d'un record dans une form. tonDataRowCourant, c'est le record que t'es en train de présenter.
    mais qu'entend tu par "record"?? Car j'ai juste dit que j'utilisais un DataAdapteuret un DataSet donc je vois pas trop là. Je trouve pas de méthode "DataRowCourant"??

    Cordialement

  6. #6
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Ouala, y'a du boulot

    Tu utilises une base de données. Elle est constitué de tables. Les tables contiennent des lignes (row, en anglais). Ces lignes, on dit que ce sont des enregistrements, ou "record" en anglais.

    Tu te connectes à la base dans ton appli C#. Tu stockes des tas de trucs dans un dataset. Le DataSet contient des tables (classe DataTable). Les tables contiennent des lignes (classe DataRow).

    Tu dis que t'affiches un employé. Si j'ai bien compris, t'en affiches qu'un à la fois dans ta form. Et ce que j'appelle tonDataRowCourant, c'est le DataRow que tu es en train d'afficher. Je sais pas comment ton appli est faite ni quoi est bindé avec quoi comment, donc je sais pas comment tu vas le récupérer. A toi de voir.
    ಠ_ಠ

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/01/2006, 23h17
  2. Ajout enregistrement
    Par jarodc dans le forum Access
    Réponses: 1
    Dernier message: 14/11/2005, 23h50
  3. Afficher tous les enregistrements d'une table
    Par bertrand_declerck dans le forum QuickReport
    Réponses: 2
    Dernier message: 08/07/2005, 08h35
  4. [crytals report] afficher le dernier enregistrement
    Par bobwilson dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 22/02/2005, 12h14
  5. [VB6] [ADO] Pb ajout enregistrement table liée
    Par fikou dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 01/10/2002, 11h49

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