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 :

Impossible de remplir mon dataset [Débutant]


Sujet :

C#

  1. #21
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 45
    Par défaut
    D'accord je suis entrain de créer ma class Data, après je ne vois toujours pas comment ma table va communiquer avec cette classe

    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
    class Data
        {
            public int NumeroBug {get;set;}
            public DateTime dateModification {get;set;}
            public string ModifiePar { get; set; }
            public DateTime De { get; set; }
            public DateTime vers { get; set; }
     
            List<Data> GetDataFormTable(DataTable table)
            {
              qu'est-ce qui doit apparaître ici ? 
            }
     
     
        }
    Mon tuteur m'avait conseillé d'utiliser une dgv avec un dataset, alors quel est l’intérêt si on ne peut pas l'afficher dans une datagridview ?

    Je suis vraiment désolé de t'harceler comme ça, mais je suis vraiment perdu, je ne fais pas du tout ça d'habitude, pour moi le c# c'est tout récent !
    Mais grâce à toi j'ai beaucoup appris

  2. #22
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    Citation Envoyé par kinder540 Voir le message
    Mon tuteur m'avait conseillé d'utiliser une dgv avec un dataset, alors quel est l’intérêt si on ne peut pas l'afficher dans une datagridview ?

    Je suis vraiment désolé de t'harceler comme ça, mais je suis vraiment perdu, je ne fais pas du tout ça d'habitude, pour moi le c# c'est tout récent !
    Mais grâce à toi j'ai beaucoup appris
    oui tu peux faire ça

    mais tu peux que afficher un table a la fois dans datagridview ;

    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
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
     
    class CL_CAD
        {
            string filename1, filename2, filename3;
     
            public CL_CAD(string [] files)//string _filename1, string _filename2, string _filename3)
            {
     
                foreach (string file in files)
                {
                    if(file.Contains("AffectationBug.csv"))
                    filename1 = file;
                    else if (file.Contains("ListeBug.csv"))
                    filename2 = file;
                    else if (file.Contains("WorkflowBug.csv"))
                    filename3 = file;
                }
            }
     
            public DataTable dt1 = new DataTable();
            public DataTable dt2 = new DataTable();
            public DataTable dt3 = new DataTable();
     
     
     
     
            DataSet ds = new DataSet();
     
            Form1 form = new Form1();
     
            public DataTable GetTable1()
            {
                StreamReader csv_file = null;
                dt1.Columns.Add("NumeroBug");
                dt1.Columns.Add("dateModification");
                dt1.Columns.Add("ModifiePar");
                dt1.Columns.Add("De");
                dt1.Columns.Add("Vers");
     
                try
                {
                    csv_file = File.OpenText(filename1);
                }
                catch
                {
                    throw new Exception("Erreur lors du chargement du fichier, le fichier est peut etre ouvert");
                }
     
                int i = 0;
     
                if (filename1.EndsWith("AffectationBug.csv"))
                {
                    while (csv_file.Peek() > 0)
                    {
                        // read and add a line
                        string line = csv_file.ReadLine();
                        string[] vals = line.Split(';');
                        DataRow dr = dt1.NewRow();
                        dr["NumeroBug"] = vals[0];
                        dr["dateModification"] = vals[1];
                        dr["ModifiePar"] = vals[2];
                        //dr["De"] = vals[3];
                        //dr["Vers"] = vals[4];
                        i++;
                        if (i > 1)
                        {
                            dt1.Rows.Add(dr);
                        }
                    }
                    csv_file.Close();
                }
                else
                {
                    throw new Exception("Vous avez selectionné le mauvais fichier");
                }
                return dt1;
            }
     
            public DataTable GetTable2()
            {
     
                StreamReader csv_file = null;
                dt2.Columns.Add("projet");
                dt2.Columns.Add("NumeroBug");
                dt2.Columns.Add("Priorite");
                dt2.Columns.Add("Severite");
                dt2.Columns.Add("DateSoumission");
                dt2.Columns.Add("Resume");
                dt2.Columns.Add("Rapporteur");
     
                try
                {
                    csv_file = File.OpenText(filename2);
     
                }
                catch
                {
                    throw new Exception("Erreur lors du chargement du fichier, le fichier est peut etre ouvert");
                }
     
                int i = 0;
     
                if (filename2.EndsWith("ListeBug.csv"))
                {
                    while (csv_file.Peek() > 0)
                    {
                        string line = csv_file.ReadLine();
                        string[] vals = line.Split(';');
                        DataRow dr = dt2.NewRow();
                        dr["Projet"] = vals[0];
                        dr["NumeroBug"] = vals[1];
                        dr["Priorite"] = vals[2];
                        dr["Severite"] = vals[3];
                        dr["DateSoumission"] = vals[4];
                        dr["Resume"] = vals[5];
                        dr["Rapporteur"] = vals[6];
     
                        //Permet d'ignorer la première ligne qui contient les en-têtes des colonnes
                        i++;
                        if (i > 1)
                        {
     
                            dt2.Rows.Add(dr);
                        }
                    }
                    csv_file.Close();
     
                }
                else
                {
                    throw new Exception("Vous avez selectionné le mauvais fichier");
                }
                return dt2;
            }
     
            public DataTable GetTable3()
            {
                StreamReader csv_file = null;
                dt3.Columns.Add("NumeroBug");
                dt3.Columns.Add("DateModification");
                dt3.Columns.Add("ModifiePar");
                dt3.Columns.Add("AncienStatut");
                dt3.Columns.Add("NouveauStatut");
     
                try
                {
                    csv_file = File.OpenText(filename3);
                }
                catch
                {
                    throw new Exception("Erreur lors du chargement du fichier, le fichier est peut etre ouvert");
                }
     
                int i = 0;
     
     
                //Vérirfie si le bon fichier a été sélectionné
                if (filename3.EndsWith("WorkflowBug.csv"))
                {
     
                    while (csv_file.Peek() > 0)
                    {
                        // read and add a line
                        string line = csv_file.ReadLine();
                        string[] vals = line.Split(';');
                        DataRow dr = dt3.NewRow();
                        dr["NumeroBug"] = vals[0];
                        dr["DateModification"] = vals[1];
                        dr["ModifiePar"] = vals[2];
                        dr["AncienStatut"] = vals[3];
                        dr["NouveauStatut"] = vals[4];
     
                        i++;
                        if (i > 1)
                        {
     
                            dt3.Rows.Add(dr);
                        }
                    }
                    csv_file.Close();
                }
                else
                {
                    throw new Exception("Vous avez selectionné le mauvais fichier");
                }
     
                return dt3;
            }
        }
    j'ai ajouté que des public pour les Datatable.

    et faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private button2_click(object sender,EventArgs e)
    {
     CL_CAD oCad=new CL_CAD(openfileDialog1.FileNames);
     oCad.dataset();
     dataGridView1.DataSource=oCad.dt1;//afficher datatable dt1 dans datagridview
     
    }

  3. #23
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 45
    Par défaut
    D'accord ça me parait assez simple, ce qui m’intéresserait vraiment c'est de faire en gros une union entre ces tables via NumeroBug qui est un ID, et afficher par exemple seulement quelques colonnes communes dans ces 3 fichiers, et ça je vois vraiment pas comment faire, il faut utiliser ta list comme dans ton exemple, mais je ne vois pas quoi mettre à l'intérieur.

    N'y a t-il pas un moyen de faire simplement des requêtes de type SQL ?

  4. #24
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    vérifier les types de données dans (gettable)et tu peux aussi compléter la fonction uniontables

    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
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data;
    using System.IO;
     
    namespace WindowsFormsApplication3
    {
        class CL_CAD
        {
            string filename1, filename2, filename3;
     
            public CL_CAD(string [] files)//string _filename1, string _filename2, string _filename3)
            {
     
                foreach (string file in files)
                {
                    if(file.Contains("AffectationBug.csv"))
                    filename1 = file;
                    else if (file.Contains("ListeBug.csv"))
                    filename2 = file;
                    else if (file.Contains("WorkflowBug.csv"))
                    filename3 = file;
                }
            }
     
            DataTable dt1 = new DataTable();
            DataTable dt2 = new DataTable();
            DataTable dt3 = new DataTable();
     
     
     
     
            DataSet ds = new DataSet();
     
            Form1 form = new Form1();
     
            public DataTable GetTable1()
            {
     
     
                StreamReader csv_file = null;
                DataColumn NumeroBugColumn = new DataColumn("NumeroBug", typeof(System.Int32));
                DataColumn dateModificationColumn = new DataColumn("dateModification", typeof(System.DateTime));
     
                DataColumn ModifieParColumn = new DataColumn("ModifiePar", typeof(System.Int32));
                DataColumn DeColumn = new DataColumn("De", typeof(System.DateTime));
                DataColumn VersColumn = new DataColumn("Vers", typeof(System.DateTime));
     
                dt3.Columns.Add(NumeroBugColumn);
                dt3.Columns.Add(dateModificationColumn);
                dt3.Columns.Add(ModifieParColumn);
                dt3.Columns.Add(DeColumn);
                dt3.Columns.Add(VersColumn);
                dt3.PrimaryKey = new DataColumn[] { NumeroBugColumn };
     
                try
                {
                    csv_file = File.OpenText(filename1);
                }
                catch
                {
                    throw new Exception("Erreur lors du chargement du fichier, le fichier est peut etre ouvert");
                }
     
                int i = 0;
     
                if (filename1.EndsWith("AffectationBug.csv"))
                {
                    while (csv_file.Peek() > 0)
                    {
                        // read and add a line
                        string line = csv_file.ReadLine();
                        string[] vals = line.Split(';');
                        DataRow dr = dt1.NewRow();
                        dr["NumeroBug"] = vals[0];
                        dr["dateModification"] = vals[1];
                        dr["ModifiePar"] = vals[2];
                        //dr["De"] = vals[3];
                        //dr["Vers"] = vals[4];
                        i++;
                        if (i > 1)
                        {
                            dt1.Rows.Add(dr);
                        }
                    }
                    csv_file.Close();
                }
                else
                {
                    throw new Exception("Vous avez selectionné le mauvais fichier");
                }
                return dt1;
            }
     
            public DataTable GetTable2()
            {
     
                StreamReader csv_file = null;
     
     
                DataColumn NumeroBugColumn = new DataColumn("NumeroBug", typeof(System.Int32));
                DataColumn projetColumn = new DataColumn("projet", typeof(System.String));
     
                DataColumn PrioriteColumn = new DataColumn("Priorite", typeof(System.Int32));
                DataColumn SeveriteColumn = new DataColumn("Severite", typeof(System.Int32));
                DataColumn DateSoumissionColumn = new DataColumn("DateSoumission", typeof(System.DateTime));
                DataColumn ResumeColumn = new DataColumn("Resume", typeof(System.String));
                DataColumn RapporteurColumn = new DataColumn("Rapporteur", typeof(System.Int32));
                dt3.Columns.Add(NumeroBugColumn);
                dt3.Columns.Add(projetColumn);
                dt3.Columns.Add(PrioriteColumn);
                dt3.Columns.Add(SeveriteColumn);
                dt3.Columns.Add(DateSoumissionColumn);
                dt3.Columns.Add(ResumeColumn);
                dt3.Columns.Add(RapporteurColumn);
     
                dt3.PrimaryKey = new DataColumn[] { NumeroBugColumn };//le cle primaire de la table
     
     
                try
                {
                    csv_file = File.OpenText(filename2);
     
                }
                catch
                {
                    throw new Exception("Erreur lors du chargement du fichier, le fichier est peut etre ouvert");
                }
     
                int i = 0;
     
                if (filename2.EndsWith("ListeBug.csv"))
                {
                    while (csv_file.Peek() > 0)
                    {
                        string line = csv_file.ReadLine();
                        string[] vals = line.Split(';');
                        DataRow dr = dt2.NewRow();
                        dr["Projet"] = vals[0];
                        dr["NumeroBug"] = vals[1];
                        dr["Priorite"] = vals[2];
                        dr["Severite"] = vals[3];
                        dr["DateSoumission"] = vals[4];
                        dr["Resume"] = vals[5];
                        dr["Rapporteur"] = vals[6];
     
                        //Permet d'ignorer la première ligne qui contient les en-têtes des colonnes
                        i++;
                        if (i > 1)
                        {
     
                            dt2.Rows.Add(dr);
                        }
                    }
                    csv_file.Close();
     
                }
                else
                {
                    throw new Exception("Vous avez selectionné le mauvais fichier");
                }
                return dt2;
            }
     
            public DataTable GetTable3()
            {
                StreamReader csv_file = null;
                DataColumn NumeroBugColumn = new DataColumn("NumeroBug", typeof(System.Int32));
                DataColumn DateModificationColumn = new DataColumn("DateModification", typeof(System.Int32));
                DataColumn ModifieParColumn = new DataColumn("ModifiePar", typeof(System.Int32));
                DataColumn AncienStatutColumn = new DataColumn("AncienStatut", typeof(System.Int32));
                DataColumn NouveauStatutColumn = new DataColumn("NouveauStatut", typeof(System.Int32));
     
                dt3.Columns.Add(NumeroBugColumn);
                dt3.Columns.Add(DateModificationColumn);
                dt3.Columns.Add(ModifieParColumn);
                dt3.Columns.Add(AncienStatutColumn);
                dt3.Columns.Add(NouveauStatutColumn);
                dt3.PrimaryKey =new DataColumn[]{NumeroBugColumn};
     
                try
                {
                    csv_file = File.OpenText(filename3);
                }
                catch
                {
                    throw new Exception("Erreur lors du chargement du fichier, le fichier est peut etre ouvert");
                }
     
                int i = 0;
     
     
                //Vérirfie si le bon fichier a été sélectionné
                if (filename3.EndsWith("WorkflowBug.csv"))
                {
     
                    while (csv_file.Peek() > 0)
                    {
                        // read and add a line
                        string line = csv_file.ReadLine();
                        string[] vals = line.Split(';');
                        DataRow dr = dt3.NewRow();
                        dr["NumeroBug"] = vals[0];
                        dr["DateModification"] = vals[1];
                        dr["ModifiePar"] = vals[2];
                        dr["AncienStatut"] = vals[3];
                        dr["NouveauStatut"] = vals[4];
     
                        i++;
                        if (i > 1)
                        {
     
                            dt3.Rows.Add(dr);
                        }
                    }
     
                    csv_file.Close();
                }
                else
                {
                    throw new Exception("Vous avez selectionné le mauvais fichier");
                }
     
                return dt3;
            }
     
            public DataTable UnionTables()
            {
                DataTable table1 = dt1.Clone();
     
                table1.Merge(dt2, false, MissingSchemaAction.Add);
                table1.Merge(dt3, false, MissingSchemaAction.Add);
                DataTable table = new DataTable();
                //mettre les donnees que tu veux afficher 
     
                DataColumn NumeroBugColumn = new DataColumn("NumeroBug", typeof(System.Int32));
                DataColumn dateModificationColumn = new DataColumn("dateModification", typeof(System.DateTime));
     
                DataColumn ModifieParColumn = new DataColumn("ModifiePar", typeof(System.Int32));
                DataColumn DeColumn = new DataColumn("De", typeof(System.DateTime));
                DataColumn VersColumn = new DataColumn("Vers", typeof(System.DateTime));
     
                table.Columns.Add(NumeroBugColumn);
                table.Columns.Add(dateModificationColumn);
                table.Columns.Add(ModifieParColumn);
                table.Columns.Add(DeColumn);
                table.Columns.Add(VersColumn);
                table.PrimaryKey = new DataColumn[] { NumeroBugColumn };
     
                foreach (DataRow row in table1.Rows)
                {
                    DataRow dr = table.NewRow();
                    dr["NumeroBug"] = row["NumeroBug"];
                    //.....remplir les données 
                    table.Rows.Add(dr);
                }
                return table;
     
            }
        }
    }

  5. #25
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 45
    Par défaut
    Bonjour, je suivrai cette démarche, par contre j'ai déjà un problème, dans mes fichiers excel la première ligne représente le nom des colonnes et donc ne respecte par le type (string, datatime etc..) il m'affiche donc une erreur, le formait de la chaîne d'entrée est incorrect.
    Pourtant j'ai bien une condition qui ignore la première, mais seulement au niveau de l'affichage je pense
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
     
                        if (i > 1)
                        {
                            dt1.Rows.Add(dr);
                        }
                    }
    Comment puis-je ignorer cette première ligne, voir la supprimer ?

  6. #26
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    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
    14
    15
    16
    17
     
                     if (i > 1)
                        {
                          // read and add a line
                        string line = csv_file.ReadLine();
                        string[] vals = line.Split(';');
                        DataRow dr = dt1.NewRow();
                        dr["NumeroBug"] = vals[0];
                        dr["dateModification"] = vals[1];
                        dr["ModifiePar"] = vals[2];
                        //dr["De"] = vals[3];
                        //dr["Vers"] = vals[4];
     
     
                            dt1.Rows.Add(dr);
                        }
    i++;

  7. #27
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 45
    Par défaut
    Encore merci pour cette astuce, mais alors la j'ai un problème assez coriace,
    Quand j'affiche mon fichier csv dans ma datagridview, des Guillemets sont rajoutés pour chaque donnée

    par exemple dans la colonne NumeroBug j'ai "1380", et donc je pense que ca pose problème lors de la définition de la clé primaire car le champ n'est pas de type int.
    Pourtant dans mon fichier csv ces guillemets ne sont pas présents donc pas moyen de supprimer quelque chose qui n'existe pas...

    Je ne vois pas ce que je dois faire. Surtout que ce bug existe seulement pour le fichier CSV 1, pour les autres il n'y a pas de guillemet.


    EDIT : Je viens de l'ouvrir avec un éditeur de texte, les guillemets sont biens présents, je vais donc les supprimer. aurais-tu des conseilles pour réaliser cette tâche ?

  8. #28
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    il faut faire un debug pour savoir la source de problème; sinon tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    if (NumeroBug .Contains("\""))
                    NumeroBug = NumeroBug .Replace("\"", "").Trim();
    faut parcourir datagridview pour faire ça.

    mais à mon avis il faut voir pourquoi dans le fichier CSV 1.

  9. #29
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 45
    Par défaut
    Si tu veux en savoir plus sur ces fichiers csv je peux te donner plus d'informations

    Ces fichiers CSV sont générés automatiquement et il s'avère que le premier fichier contient des guillemets entre les données, mais seulement quand je l'ouvre dans un éditeur de texte, si je l'ouvre avec excel, je ne vois pas les guillemets.

    Alors je ne sais pas trop, ce que je dois faire :
    - Les effacer dans le fichier directement
    - Les effacer au niveau de l'affichage de la datagridview


    De plus le morceau de code que tu m'as donné ne marche pas , il me dit NumeroBug n'existe pas

    Ce que j'aimerai donc c'est de supprimer les guillemets dans mon fichier.

    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
        StreamReader reader = new StreamReader(@"D:\Users\pmagnin\Desktop\excel\AffectationBug.csv");
                StreamWriter writer = new StreamWriter(@"D:\Users\pmagnin\Desktop\excel\AffectationBug1.csv", false, Encoding.Default);
     
                while (!reader.EndOfStream)
                {
                    string valeur= reader.ReadLine();
     
                    if (valeur== "\"")
                        writer.WriteLine("");
     
                    else
                        writer.WriteLine(valeur);
     
                }
     
                writer.Dispose();
                reader.Dispose();
     
            }
    Mais rien ne se passe...

  10. #30
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    Tu doit vérifier le programme qui génère ton fichier!

  11. #31
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 45
    Par défaut
    Bonjour,

    J'ai toujours un problème avec mes datacoloumns

    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
     
            public DataTable GetTable2()
            {
     
     
                DataColumn NumeroBugColumn = new DataColumn("NumeroBug", typeof(System.Int32));
                DataColumn projetColumn = new DataColumn("projet", typeof(System.String));
                DataColumn PrioriteColumn = new DataColumn("Priorite", typeof(System.Int32));
                DataColumn SeveriteColumn = new DataColumn("Severite", typeof(System.Int32));
                DataColumn DateSoumissionColumn = new DataColumn("DateSoumission", typeof(System.DateTime));
                DataColumn ResumeColumn = new DataColumn("Resume", typeof(System.String));
                DataColumn RapporteurColumn = new DataColumn("Rapporteur", typeof(System.Int32));
     
     
                dt2.Columns.Add(NumeroBugColumn);
                dt2.Columns.Add(projetColumn);
                dt2.Columns.Add(PrioriteColumn);
                dt2.Columns.Add(SeveriteColumn);
                dt2.Columns.Add(DateSoumissionColumn);
                dt2.Columns.Add(ResumeColumn);
                dt2.Columns.Add(RapporteurColumn);
     
     
                //dt2.Columns.Add("projet");
                //dt2.Columns.Add("NumeroBug");
                //dt2.Columns.Add("Priorite");
                //dt2.Columns.Add("Severite");
                //dt2.Columns.Add("DateSoumission");
                //dt2.Columns.Add("Resume");
                //dt2.Columns.Add("Rapporteur");
     
     
                try
                {
                    csv_file2 = File.OpenText(filename2);
     
                }
                catch
                {
                    throw new Exception("Erreur lors du chargement du fichier, le fichier est peut etre ouvert");
                }
     
                int i = 0;
     
     
     
                if (filename2.EndsWith("ListeBug.csv"))
                {
                    while (csv_file2.Peek() > 0)
                    {
     
                        string line = csv_file2.ReadLine();
     
                        string[] vals = line.Split(';');
                        DataRow dr = dt2.NewRow();
                        dr["Projet"] = vals[0];
                        dr["NumeroBug"] = vals[1];
                        dr["Priorite"] = vals[2];
                        dr["Severite"] = vals[3];
                        dr["DateSoumission"] = vals[4];
                        dr["Resume"] = vals[5];
                        dr["Rapporteur"] = vals[6];
     
                        //Permet d'ignorer la première ligne qui contient les en-têtes des colonnes
                        i++;
                        if (i > 1)
                        {
     
                            dt2.Rows.Add(dr);
                        }
                    }
                    csv_file2.Close();
     
                }
     
                else
                {
                    MessageBox.Show("Vous avez selectionné le mauvais fichier");
                }
     
     
     
     
                return dt2;
     
            }
    Un message d'erreur s'affiche disant qu'il est impossible de stocker <numeroBug> dans la colonne numerobug. type attendu int32.

  12. #32
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    Citation Envoyé par kinder540 Voir le message
    Bonjour,

    J'ai toujours un problème avec mes datacoloumns

    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
     
            public DataTable GetTable2()
            {
     
     
                DataColumn NumeroBugColumn = new DataColumn("NumeroBug", typeof(System.Int32));
                DataColumn projetColumn = new DataColumn("projet", typeof(System.String));
                DataColumn PrioriteColumn = new DataColumn("Priorite", typeof(System.Int32));
                DataColumn SeveriteColumn = new DataColumn("Severite", typeof(System.Int32));
                DataColumn DateSoumissionColumn = new DataColumn("DateSoumission", typeof(System.DateTime));
                DataColumn ResumeColumn = new DataColumn("Resume", typeof(System.String));
                DataColumn RapporteurColumn = new DataColumn("Rapporteur", typeof(System.Int32));
     
     
                dt2.Columns.Add(NumeroBugColumn);
                dt2.Columns.Add(projetColumn);
                dt2.Columns.Add(PrioriteColumn);
                dt2.Columns.Add(SeveriteColumn);
                dt2.Columns.Add(DateSoumissionColumn);
                dt2.Columns.Add(ResumeColumn);
                dt2.Columns.Add(RapporteurColumn);
     
     
                //dt2.Columns.Add("projet");
                //dt2.Columns.Add("NumeroBug");
                //dt2.Columns.Add("Priorite");
                //dt2.Columns.Add("Severite");
                //dt2.Columns.Add("DateSoumission");
                //dt2.Columns.Add("Resume");
                //dt2.Columns.Add("Rapporteur");
     
     
                try
                {
                    csv_file2 = File.OpenText(filename2);
     
                }
                catch
                {
                    throw new Exception("Erreur lors du chargement du fichier, le fichier est peut etre ouvert");
                }
     
                int i = 0;
     
     
     
                if (filename2.EndsWith("ListeBug.csv"))
                {
                    while (csv_file2.Peek() > 0)
                    {
     
                        string line = csv_file2.ReadLine();
     
                        string[] vals = line.Split(';');
                        DataRow dr = dt2.NewRow();
                        dr["Projet"] = vals[0];
                        dr["NumeroBug"] = vals[1];
                        dr["Priorite"] = vals[2];
                        dr["Severite"] = vals[3];
                        dr["DateSoumission"] = vals[4];
                        dr["Resume"] = vals[5];
                        dr["Rapporteur"] = vals[6];
     
                        //Permet d'ignorer la première ligne qui contient les en-têtes des colonnes
                        i++;
                        if (i > 1)
                        {
     
                            dt2.Rows.Add(dr);
                        }
                    }
                    csv_file2.Close();
     
                }
     
                else
                {
                    MessageBox.Show("Vous avez selectionné le mauvais fichier");
                }
     
     
     
     
                return dt2;
     
            }
    Un message d'erreur s'affiche disant qu'il est impossible de stocker <numeroBug> dans la colonne numerobug. type attendu int32.
    dans les champs qui ont une valuer int32 tu peux faire
    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
        dr["NumeroBug"] =int.Parse( vals[1]);
    ainsi de suite pour toutes les champs non de type string

  13. #33
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 45
    Par défaut
    OK merci, maintenant c'est tout bon j'arrive à affiche mes datatables avec une clé primaire sur la table 2.

    Maintenant je dois donc afficher des données des 3 tables selon la clé primaire de la table 2.

    J'ai essayé ton code
    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
    public DataTable unionTable()
            {
     
                DataTable table1 = dt1.Clone();
     
                table1.Merge(dt2, false, MissingSchemaAction.Add);
                table1.Merge(dt3, false, MissingSchemaAction.Add);
                DataTable table = new DataTable();
                //mettre les donnees que tu veux afficher 
     
                DataColumn NumeroBugColumn = new DataColumn("NumeroBug", typeof(System.Int32));
                DataColumn dateModificationColumn = new DataColumn("dateModification", typeof(System.DateTime));
                DataColumn ModifieParColumn = new DataColumn("ModifiePar", typeof(System.Int32));
                DataColumn DeColumn = new DataColumn("De", typeof(System.String));
                DataColumn VersColumn = new DataColumn("Vers", typeof(System.String));
     
                table.Columns.Add(NumeroBugColumn);
                table.Columns.Add(dateModificationColumn);
                table.Columns.Add(ModifieParColumn);
                table.Columns.Add(DeColumn);
                table.Columns.Add(VersColumn);
                table.PrimaryKey = new DataColumn[] { NumeroBugColumn };
     
                foreach (DataRow row in table1.Rows)
                {
                    DataRow dr = table.NewRow();
                    dr["NumeroBug"] = row["NumeroBug"];
                    //.....remplir les données 
                    table.Rows.Add(dr);
                }
                return table;
            }
    Par contre je n'ai pas vraiment compris ce qu'il se passait, de plus lorsque j'essaye d'afficher la table dans une datagridview, il n'y que les colonnes mais aucun contenu. Si tu pouvais m'aider.

    Cordialement,
    Paul.


    Edit : Je pense que c'est table1 qui ne contient aucune rows

    J'ai édité ton code comme ça
    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
     
            public DataTable unionTable()
            {
     
                DataTable table1 = new DataTable();
     
                table1 = GetTable2().Clone();
     
                table1.Merge(GetTable1(), false, MissingSchemaAction.Add);
                table1.Merge(GetTable3(), false, MissingSchemaAction.Add);
                DataTable table = new DataTable();
                //mettre les donnees que tu veux afficher 
     
                DataColumn NumeroBugColumn = new DataColumn("NumeroBug", typeof(System.Int32));
                DataColumn projetColumn = new DataColumn("projet", typeof(System.String));
                DataColumn PrioriteColumn = new DataColumn("Priorite", typeof(System.String));
                DataColumn SeveriteColumn = new DataColumn("Severite", typeof(System.String));
                DataColumn DateSoumissionColumn = new DataColumn("DateSoumission", typeof(System.DateTime));
                DataColumn ResumeColumn = new DataColumn("Resume", typeof(System.String));
                DataColumn RapporteurColumn = new DataColumn("Rapporteur", typeof(System.String));
     
                table.Columns.Add(NumeroBugColumn);
                table.Columns.Add(projetColumn);
                table.Columns.Add(PrioriteColumn);
                table.Columns.Add(SeveriteColumn);
                table.Columns.Add(DateSoumissionColumn);
                table.Columns.Add(ResumeColumn);
                table.Columns.Add(RapporteurColumn);
     
                table.PrimaryKey = new DataColumn[] { NumeroBugColumn };
     
                foreach (DataRow row in table1.Rows)
                {
                    DataRow dr = table.NewRow();
                    dr["NumeroBug"] = row["NumeroBug"];
                    //.....remplir les données 
                    table.Rows.Add(dr);
                }
     
                return table;
            }
    Mais j'ai une erreur "Impossible d'activer les contraintes. Une ou plusieurs lignes contiennent des valeurs qui violent les contraintes de type non null, unique ou de clé externe."

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Crystal Report] Impossible de charger mon dataset
    Par koyot3 dans le forum Windows Forms
    Réponses: 0
    Dernier message: 13/01/2009, 11h16
  2. remplir dataGridView à partir de mon dataset
    Par toutou2000 dans le forum C#
    Réponses: 5
    Dernier message: 27/11/2008, 16h04
  3. [RMI] Impossible de lancer mon serveur
    Par Dahu dans le forum API standards et tierces
    Réponses: 11
    Dernier message: 11/06/2006, 10h17
  4. [C#]Erreur pour remplir mon dataset
    Par liliprog dans le forum Windows Forms
    Réponses: 16
    Dernier message: 15/07/2005, 20h03
  5. Impossible de quitter mon application!
    Par Bouillou dans le forum C++Builder
    Réponses: 4
    Dernier message: 12/11/2002, 21h43

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