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 :

Ajout de ligne dans DataTable


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 68
    Points : 40
    Points
    40
    Par défaut Ajout de ligne dans DataTable
    Bonjour
    J'ai un petit problème sur un sujet mille fois traité ici et ailleurs mais j'ai probablement le nez trop dessus pour voir le truc qui cloche.

    Je désire boucler sur une table et ajouter chacun de ses enregistrements dans une deuxième table.

    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
     
     
            private void btn_Test2_Click(object sender, EventArgs e)
            {
                OleDbConnection con = new OleDbConnection(GD.str_Chaine_Connexion);
                DataSet dts = new DataSet("dts");
     
                OleDbDataAdapter dta_Appels = new OleDbDataAdapter("SELECT tbl_Appels.* FROM tbl_Appels", con);
                OleDbDataAdapter dta_Evennements = new OleDbDataAdapter("SELECT tbl_Evenements.* FROM tbl_Evenements", con);
     
                DataRow row_destination;
     
                con.Open();
     
                dta_Appels.Fill(dts, "tbl_Appels");
                dta_Evennements.Fill(dts, "tbl_Evenements");
     
                foreach (DataRow row_source in dts.Tables["tbl_Appels"].Rows)
                {
                    row_destination = dts.Tables["tbl_Evenements"].NewRow();
                    row_destination["num_FK_ID_Type_Evenement"] = 1;
                    row_destination["dtm_Heure_Evenement"] = row_source["dtm_Heure_Appel"];
                    row_destination["num_FK_Motif_Appel"] = row_source["num_Motif"];
                    row_destination["num_Score"] = row_source["num_Score"];
                    row_destination["bln_Rappel"] = row_source["bln_Rappel"];
                    row_destination["bln_Transfert"] = row_source["bln_Transfert"];
                    row_destination["bln_Dissuasion"] = row_source["bln_Dissuasion"];
                    DateTime dtm = new DateTime();
                    dtm = (DateTime)row_source["dtm_DMT"];
                    row_destination["num_DMT"] = dtm.Second + dtm.Minute * 60;
                    dts.Tables["tbl_Evenements"].Rows.Add(row_destination);
     
                    dts.Tables["tbl_Evenements"].AcceptChanges();
                }
                dts.AcceptChanges();
     
                MessageBox.Show("ok");            
     
                con.Close();
            }
    Le code boucle correctement, à chaque Rows.Add, le Count de la collection Rows est bien incrémenté sauf que la table de destination reste désespérément vide.

    Il doit manquer un Update quelque part.

    Merci d'avance

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 69
    Points : 93
    Points
    93
    Par défaut
    Bonjour,

    Je ne sais pas si ça peut t'aider à résoudre ton problème ,mais as-tu regardé du côté des méthodes "Clone" et "ImportRow" de la classe DataTable?

    Sinon je ne suis pas sûr que le Update soit nécessaire

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 68
    Points : 40
    Points
    40
    Par défaut
    Je ne peux pas utiliser d'import ou de clone car mes deux tables n'ont pas le même schéma.
    Concernant l'update, effectivement je ne pense pas ce soit nécessaire mais je ne comprends pas ce que j'ai oublié...

    Merci quand même

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  2. [.NET] [C#] - Empecher l'ajout de ligne dans datagrid
    Par fab2050 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 02/11/2005, 19h12
  3. Réponses: 14
    Dernier message: 22/09/2005, 16h49
  4. Réponses: 2
    Dernier message: 07/07/2005, 11h47
  5. Ajouter une ligne dans une liste via un POPUP
    Par seblo_scoqi dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/01/2005, 16h20

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