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

C# Discussion :

[Null] Aide pour Projet C#


Sujet :

C#

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2013
    Messages : 12
    Points : 5
    Points
    5
    Par défaut [Null] Aide pour Projet C#
    Bonjour , voila je suis débutant en C sharp et j'ai une application windows form à faire assez urgemment(je sais pas si ça se dit ) cependant je suis complètement perdu et j'ai grandement besoin d'aide .

    l'idée est de faire une page de rapport de visite ou l'utilisateur pourra entrer des informations dans un formulaire puis valider ou annuler sa saisie
    si validation alors on inscrit les données en base sinon on reset les champs

    j'ai fait fait mon form et ma BDD sous SQL après niveau C# je suis un gros naz j'arrive à rien a part des petit scripts consoles en procédural bref ça on s'en fout un peut.

    le Rap_visite.cs

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
     
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
     
    namespace ppe1
    {
        public partial class Rap_visite : Form
        {
     
            int currentRow;
     
            public Rap_visite()
            {
                InitializeComponent();
                currentRow = -1;
     
                DateRap.MinDate = DateTime.Now.AddDays(1);
            }
     
            public void dateTimePicker1_ValueChanged(object sender, EventArgs e)
            {
     
            }
     
     
            public void rap_num_TextChanged(object sender, EventArgs e)
            {
     
     
     
            }
     
     
            public void textBox2_TextChanged(object sender, EventArgs e)
            {
     
            }
     
            public void vis_matricule_TextChanged(object sender, EventArgs e)
            {
     
            }
     
            public void Med_off_SelectedIndexChanged(object sender, EventArgs e)
            {
     
            }
     
            private bool VerificationTout() //Retourne True quand tous les champs sont renseignés
            {
                bool resultat = false;
                int CompteControl = 0; //Incrémentation de 1 pour chaque control vérifié et validé
     
                //Vérification des TextBox
                if (NumRap.Text != "") //NumRap
                    CompteControl++;
                if (NomViMe.Text != "") //NomViMe
                    CompteControl++;
                if (MatViMe.Text != "") //MatViMe
                    CompteControl++;
                if (Bilan.Text != "") //Bilan
                    CompteControl++;
                if (NumPrat.Text != "") //NumPrat
                    CompteControl++;
                if (Conf.Text != "") //Conf
                    CompteControl++;
                if (LibMotif.Text != "") //LibMotif
                    CompteControl++;
                if (QteMediOff.Text != "") //QteMediOff
                    CompteControl++
     
     
                //Compte les contrôles validés
                if (CompteControl == 8)
                    resultat = true;
     
                return resultat;
            }
     
            private void btn_validerBilan_Click(object sender, EventArgs e)
            {
                if (VerificationTout() == true)
                {
                    MessageBox.Show("Attention vous devez renseigner les champs");
                    this.Close();
                }
                else
                {
                    this.Validate();
                    MessageBox.Show("Rapport validé");
                }
     
                /*
                txt_bilan.Text = txt_bilan.Text.Trim();
                if (txt_bilan.Text != "" && (dgv_visite.Rows[currentRow].Cells[4].Value == null || txt_bilan.Text != dgv_visite.Rows[currentRow].Cells[4].Value.ToString()))
                {
                    Donnees.setBilanVisite(txt_bilan.Text, (int)dgv_visite.Rows[currentRow].Cells[0].Value);
                    dgv_visite.Rows[currentRow].Cells[4].Value = txt_bilan.Text;
                    MessageBox.Show("Sauvegarde effectuée !", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                */
     
            }
     
            private void btn_annulerBilan_Click(object sender, EventArgs e)
            {
                MessageBox.Show("Rapport annulé");
     
                // Reset des champs 
     
                 DateVis.ResetText();
                 DateRap.ResetText();
                 NumRap.ResetText();
                 NomViMe.ResetText();     
                 MatViMe.ResetText();
                 Bilan.ResetText();
                 NumPrat.ResetText();
                 NumPratRem.ResetText();
                 Conf.ResetText();
                 LibMotif.ResetText();
                 CodeMotif.ResetText();
                 LibMediOff.ResetText();
                 QteMediOff.ResetText();   
             }
     
            private void LibMotif_SelectedIndexChanged(object sender, EventArgs e)
            {
     
            }
     
            private void Bilan_TextChanged(object sender, EventArgs e)
            {
     
            }
     
            private void NumPrat_TextChanged(object sender, EventArgs e)
            {
     
            }
     
            private void NumPratRem_TextChanged(object sender, EventArgs e)
            {
     
            }
     
            private void CodeMotif_TextChanged(object sender, EventArgs e)
            {
     
            }
        }
    }



    merci d'avance a ceux qui pourront m'aider

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Points : 78
    Points
    78
    Par défaut
    Un peu plus de détail?

    en quoi consiste le rapport?

    Plusieurs objets dans ta forme, mais à quoi correspondent-ils?

    En principe, en plus de tes composants de ton formulaire, un bouton pour valider pour valider ton rapport.
    Un bouton reset pour remettre tes composants à l'état initial.

    A la validation, contrôle de tes champs.
    Si tous tes champs sont correctes, introduction dans ta DB.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2013
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    donc mon form se présente comme ceci

    Nom : Capture.PNG
Affichages : 120
Taille : 19,7 Ko


    donc le rapport est un rapport de visiteur médical ou celui ci sera invité à entrer les informations relative à sa visite en base MYSQL


    la ou je galère c'est sur la relation avec la base

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Points : 78
    Points
    78
    Par défaut
    as-tu déjà créé la table qui va accueillir tes rapports?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2013
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    oui elle est faite

    elle s'appelle gsb_slam et elle contien une table nommée rapport_visite ou se trouvera les rapports

    Nom : Capture_base.PNG
Affichages : 115
Taille : 108,6 Ko

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Points : 78
    Points
    78
    Par défaut
    c'est donc l'introduction dans la base de données qui te pose problème?

    Pour celà il faut connaître le SQL...

    Est ce que ta base de données a été incluse à ton projet?

    Quel gestionnaire de base de données utilises-tu ?

  7. #7
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    si tu ne veux pas apprendre SQL, tu peux aussi utiliser Entity Framework... rapide, efficace et simple à utiliser...

    Après, si tu débutes en programmation, faut peut-etre commencer par quelque chose de plus simple, plus basique...
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2013
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    je connait un peu les bases du sql.

    j'utilise PHP my admin pour gérer ma BDD

    connecter la base au projet ? j'ai installer le connecteur mysql c'est ça d'ont vous parlez

  9. #9
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    as-tu installé le connecteur MySQL pour .NET ? Si non, tu le trouveras ici (ainsi que les tuto qui vont bien).
    Plus je connais de langages, plus j'aime le C.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2013
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    oui le connecteur pour .NET est installé

  11. #11
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Tout est expliqué dans le lien que je t'ai filé
    C'est la doc officielle, donc c'est très précis ... voire trop précis si tu commences juste.
    Tu dois pouvoir trouver des exemples plus succins sur le net pour attaquer plus vite.

    Là je peux pas trop t'en dire plus, je fais plus de .NET depuis quelques années.
    De souvenir :
    - tu link la lib MySQL.dll (ou un truc du genre) dans ton projet,
    - dans ton code tu fais un using MySQL.Client.JeSaisPlusQuoi,
    - après tu déroules ton code genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MySQLConnection cnx = new MySQLConnection(cnxStr);
    cnx.ExecuteXXX(rqtStr);
    cnx.Close();
    Voilà pour l'idée générale

    edit : si j'ai le temps ce soir je te trouve un bon exemple, mais t'auras bien plus vite fait de demander à gogole
    Plus je connais de langages, plus j'aime le C.

  12. #12
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Re,

    alors la lib à ajouter c'est MySql.Data (tu dois la trouver dans les références .NET vu que t'as installé le connecteur .NET).

    Dans ton code ça va donner un truc comac :

    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
    using MySql.Data.MySqlClient;
    // un bout de code à placer où ça va bien
    {
       // myserver c'est localhost si t'es en local, 3306 c'est le port par défaut, tu changes user et pass par tes vraies valeurs
       MySqlConnection cnx = nex MySqlConnection("Server=myserver;Port=3306;Database=myDataBase;Uid=user;Pwd=pass;");
       // on ouvre la connexion
       cnx.Open();
     
       // on crée une "command", du sql à lancer quoi
       MySqlCommand cmd = new SqlCommand("une requête SQL qui va bien", cnx);
     
       // on l'execute ... 3 manières différentes existent, choisis celle qui te convient
       // possibilité 1 : ExecuteNonQuery, ne renvoie rien, utile pour les CREATE, GRANT ...
       cmd.ExecuteNonQuery();
     
       // possibilité 2 : ExecuteScalar(), renvoie une seule valeur, utile pour les COUNT, DELETE, ...
       //  ou si t'as besoin que de la valeur de la première colonne de la première ligne d'un SELECT
       string ret = cmd.ExecuteScalar();
     
       // possibilité 3 : ExecuteReader(), renvoie un MySqlDataReader, utile pour les SELECT
       // un exemple pour comprendre, en imaginant que ta requête était "SELECT f1, f2 FROM t1" :
       MySqlDataReader reader = cmd.ExecuteReader();
       while (reader.Read()) {
          string var1 = reader["f1"];
          string var2 = reader["f2"];
          // a toi de faire quelque chose d'intéressant de ces valeurs
       }
     
       // on ferme la connexion
       cnx.Close();
    }
    Encore une fois, il faut n'utiliser qu'une des 3 méthodes d'exécution, je les ai toutes mises pour que tu les aies sous la main.

    Bon jeu
    Plus je connais de langages, plus j'aime le C.

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2013
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    ok merci beaucoup à tous, ça m'a permis de bien avancer mais également de mieux comprendre.

Discussions similaires

  1. Aide pour projet de programmation Lycée
    Par Supervince dans le forum C
    Réponses: 26
    Dernier message: 21/05/2006, 15h55
  2. Réponses: 1
    Dernier message: 17/05/2006, 15h27
  3. besoin d'aide pour projet
    Par donromanino dans le forum C++
    Réponses: 5
    Dernier message: 02/04/2006, 18h35
  4. Aide pour projet avec carte asi candibus
    Par sinicha dans le forum C
    Réponses: 13
    Dernier message: 16/01/2006, 15h32
  5. Aide pour projet : schéma & SGBD
    Par Grubshka dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 11/04/2005, 16h50

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