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 :

Mise en relation de deux formulaires


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 188
    Points : 71
    Points
    71
    Par défaut Mise en relation de deux formulaires
    Bonjours,

    Je suis en train d'essayer de mettre en relation deux formulaire appelé feuille1 et feuille2.
    Dans la feuille1 je doit saisir un chiffre et cela doit remplir ma fuille2.
    Mias hélas impossible à réaliser donc si quelqu'un a une idée qu'il me dise.

    Information suplémentaire je suis en mode connecté.

    Afin de vous aider voici le scripte de la feuille2 :

    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
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlClient;
     
    namespace Papyrus2
    {
        public partial class Feuille2 : Form
        {
            //Objet ADO.net
            private SqlConnection sqlConnect;
            private SqlCommand sqlCom;
            private SqlDataReader sqlDR;
     
            public Feuille2()
            {
                InitializeComponent();
                //Création de la connection
                sqlConnect = new SqlConnection();
                sqlConnect.ConnectionString = "Data Source=PC-DE-UTILISATE\\SQLEXPRESS; Initial Catalog=Papyrus; Integrated Security=True";
                try
                {
                    //Ouvre la connection
                    sqlConnect.Open();
                    //Création de la commande
                    sqlCom = new SqlCommand();
                    sqlCom.Connection = sqlConnect;
                    //Requète SQL
                    string strSql = "Select * from stgXX.FOURNIS";
                    //Propriété de la requète
                    sqlCom.CommandType = CommandType.Text;
                    sqlCom.CommandText = strSql;
                    //Exécution de la commande
                    sqlDR = sqlCom.ExecuteReader();
                    //Lecture des données du Datareader
                    int i = 0;
                    while (sqlDR.Read())
                    {
                        int NUMFOU = sqlDR.GetInt32(0);
                        char NOMFOU = sqlDR.GetChar(1);
                        txtNom.Text = Convert.ToString(NOMFOU);
                        char RUEFOU = sqlDR.GetChar(2);
                        txtAdresse.Text = Convert.ToString(RUEFOU);
                        char POSFOU = sqlDR.GetChar(3);
                        txtCP.Text = Convert.ToString(POSFOU);
                        char VILFOU = sqlDR.GetChar(4);
                        txtVille.Text = Convert.ToString(VILFOU);
                        char CONFOU = sqlDR.GetChar(5);
                        txtContact.Text = Convert.ToString(CONFOU);
                        int SATISF = sqlDR.GetInt16(6);
                        txtSatisfaction.Text = Convert.ToString(SATISF);
                    }
                    //Fin de données
                    sqlDR.Close();
                }
                catch (SqlException ex)
                {
                    //Traitement des exceptions
                }
                finally
                {
                    sqlConnect.Close();
                }
            }
     
            private void btnRetour_Click(object sender, EventArgs e)
            {
                this.Close();
            }
        }
    }
    merci pour tous !!

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 383
    Points : 2 996
    Points
    2 996
    Par défaut
    Je suis peut-être encore dans les vapeurs du réveillon mais j'ai pas trop compris ton problème

    Plus clairement, tu veux faire quoi ? remplir un contrôle visuel d'un formulaire à partir d'une saisie dans un autre ? Si c'est ça, le sujet a déjà été évoqué ici des dizaines de fois. Alors je me dis que ça doit surement pas être aussi simple que ça

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 188
    Points : 71
    Points
    71
    Par défaut
    En résumé, en saisissant un code fournisseur dans ma feuille1 je doit retrouver ces infos dans la feuille2

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 383
    Points : 2 996
    Points
    2 996
    Par défaut
    si le code est saisi dans un textbox, il suffit de mettre sa propriété Modifiers à public pour pouvoir y accéder comme une propriété normal.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     using (Form2 form = new Form2())
    {
        form.ShowDialog();
        MessageBox.Show(form.textBox1.Text);
    }

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 188
    Points : 71
    Points
    71
    Par défaut
    Je suppose que le code je le met dans ma textbox !!

  6. #6
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 383
    Points : 2 996
    Points
    2 996
    Par défaut
    Citation Envoyé par phoenix345 Voir le message
    En résumé, en saisissant un code fournisseur dans ma feuille1 je doit retrouver ces infos dans la feuille2
    Ben je pense oui, enfin si je me base sur ce que tu disais plus haut
    Pour moi, saisir une valeur se fait dans un contrôle visuel, c'est pour ça que je pensais à un TextBox. Mais après, ça dépend de ton application. Je ne sais pas comment elle est faite.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 188
    Points : 71
    Points
    71
    Par défaut
    Je confirme c'est bien une textbox attentd j'essaye.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 188
    Points : 71
    Points
    71
    Par défaut
    cela semble marcher faut juste que je trouve le bon get pour convertir du varchar.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 188
    Points : 71
    Points
    71
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    int NUMFOU = sqlDR.GetInt32(0);
                        char NOMFOU = sqlDR.GetChar(1);
                        txtNom.Text = Convert.ToString(NOMFOU);
                        char RUEFOU = sqlDR.GetChar(2);
                        txtAdresse.Text = Convert.ToString(RUEFOU);
                        char POSFOU = sqlDR.GetChar(3);
                        txtCP.Text = Convert.ToString(POSFOU);
                        char VILFOU = sqlDR.GetChar(4);
                        txtVille.Text = Convert.ToString(VILFOU);
                        char CONFOU = sqlDR.GetChar(5);
                        txtContact.Text = Convert.ToString(CONFOU);
                        int SATISF = sqlDR.GetInt16(6);
                        txtSatisfaction.Text = Convert.ToString(SATISF);
    des erreurs sont détecter dans toute la zone qui est en retraitn grrrrrrrrrr !!!

    voilà le code erreur :
    La méthode spécifiée n'est pas prise en charge.
    Merci de m'aider.

  10. #10
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 383
    Points : 2 996
    Points
    2 996
    Par défaut
    c'est sur la ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char NOMFOU = sqlDR.GetChar(1);
    que ça plante ?

    Si oui, à la compilation ou à l'exécution ?

    As-tu essayé d'utiliser le nom de la colonne plutôt qu'un indice ?

    Es-tu sur que la colonne 1 contient bien un char ?

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 188
    Points : 71
    Points
    71
    Par défaut
    oui c'est bien ici que ça plante

    Dans ma colonne il y a un char dans ma base de donnée

    et pour l'histoire du nom des colonne par rapport à l'index je ne vois pas bien !!!

  12. #12
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 383
    Points : 2 996
    Points
    2 996
    Par défaut
    Citation Envoyé par phoenix345 Voir le message
    et pour l'histoire du nom des colonne par rapport à l'index je ne vois pas bien !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char NOMFOU = sqlDR{"nomdelacolonne"];

  13. #13
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 383
    Points : 2 996
    Points
    2 996
    Par défaut
    essaye aussi le GetString, parce que si mes souvenirs sont bons, le GetChar doit récupérer un seul caractère, c'est à dire un char. Et je doute que la colonne nom ne comporte que des noms d'un seul caractère.

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 188
    Points : 71
    Points
    71
    Par défaut
    en mettant string à la place de char ça semble marcher.

    Ben non la colone SATISF bug car il y a de champs NULL dans ma base de donner donc il me faut un exception il me semble !!

  15. #15
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 383
    Points : 2 996
    Points
    2 996
    Par défaut
    Là, c'est un autre problème.
    Fais un test sur chaque valeur pouvant prendre la valeur null dans la base de données.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(sqlDR.GetString(1) == null)
    { faire un truc}
    else
     etc.

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 188
    Points : 71
    Points
    71
    Par défaut
    merci à toi je verrai ça demain là je fatigue un peu mais un grand merci à toi !!!

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 188
    Points : 71
    Points
    71
    Par défaut
    La seule colonne ou il y a un valeur Nulle est la SATSF qui est en int donc impossible dans ce cas là.

  18. #18
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 383
    Points : 2 996
    Points
    2 996
    Par défaut
    il ne faut pas te baser sur le fait qu'une colonne contient une valeur nulle à un instant T, mais sur les propriétés de le colonne dans la base de données. Si la colonne peut accepter une valeur nulle, alors, il faut tester dans la récupération d'une valeur dans ton code.

    Tel que tu l'expliques, tu dis que maintenant, la colonne SATSF contient une valeur nulle dans une des lignes. Ca veut bien dire que cette colonne les accepte. Il faut connaitre la structure de la table et pas te baser sur ce qui est maintenant.

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 188
    Points : 71
    Points
    71
    Par défaut
    la colone SATISF prend en permanence les valeur null en effet et c'est la seul du tableu, dans ma basse de donné il y a deux valeur null qui ne devrait pas changer mais justement je n'arrive pas à les récupérer.
    j'ai vu nullable sur C# mais je ne sais pas comment l'utiliser.

  20. #20
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 383
    Points : 2 996
    Points
    2 996
    Par défaut
    méthode avec le test:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
               if (sqlDR["SATISF"] != DBNull.Value)
                {
                    int SATISF = sqlDR.GetInt16(6);
                    MessageBox.Show(Convert.ToString(SATISF));
                }
                else
                {
                    MessageBox.Show("SATIF est null, je fais autre chose");
                }
    Méthode avec le Nullable

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                Int16? sat = sqlDR.GetInt16(6);
                if (sat.HasValue) // donc, non null
                {
                    int SATISF = sat.Value;
                }
                else
                {
                    MessageBox.Show("SATIF est null, je fais autre chose");
                }

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Mise en relation OpenERP et formulaire
    Par kilrou dans le forum Odoo (ex-OpenERP)
    Réponses: 2
    Dernier message: 16/07/2011, 18h54
  2. Mise en relation de formulaires -access 2003-
    Par christian.bedere dans le forum IHM
    Réponses: 2
    Dernier message: 30/10/2008, 10h07
  3. mise en relation formulaire-BDD
    Par kumo dans le forum Modélisation
    Réponses: 3
    Dernier message: 24/05/2007, 08h40
  4. Réponses: 3
    Dernier message: 16/06/2006, 16h17
  5. relation entre deux formulaires
    Par b_steph_2 dans le forum IHM
    Réponses: 18
    Dernier message: 14/02/2006, 15h03

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