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 :

[C#] Ajout de DataTable dans un DataSet


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Par défaut [C#] Ajout de DataTable dans un DataSet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DataSet dSet;
    dSet = new DataSet();
    MonDt = dSet.Tables.Add("myNewTable");
    MonDtCH = dSet.Tables.Add("tyy");

    Voila mon souci j'ai deux dataTable qui contienne des données quand je les ajoute a mon dataset mes deux table de mon dataset sont vide et contienne aucune colonne ???

    je ne comprend pas pourkoi et ou est le pb.

    merci de vos reponse

  2. #2
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    normal tu en cree des nouvelles puisque tu passe une string en argument

    Utilise Tables.Add(uneDataTable)

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdatadatatablecollectionclassaddtopic.asp

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Par défaut
    ce que je voudrais faire c'est ajouter mes deux datatable MonDt et MonDtCH a mon dataset

    si je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MonDt = dSet.Tables.Add( MonDt);
    MonDtCH = dSet.Tables.Add(MonDtCH);
    ca me dir Impossible de convertire implicitement de type vois en datatable

    hors MonDt et MonDtCH sont bien des datatable

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Par défaut
    si je fais ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    dSet.Tables.Add( MonDt);
    dSet.Tables.Add(MonDtCH);
    il me dit impossibble le datatable appartien deja a un dataset

    la je comprend plusrien

  5. #5
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Code:

    dSet.Tables.Add( MonDt);
    dSet.Tables.Add(MonDtCH);
    ca c'est la bonne manoeuvre, mais qu'as-tu avant?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    [Category("DataTable Code Horaire"),
    		Description("Indique la DataTable a ce service pour remplire l'Agenda"),
    		DefaultValue(true)]
     
    		public DataTable DataTable_Code
    		{
    			get
    			{
    				return MonDtCH;
    			}
    			set
    			{
    				MonDtCH = value;
    				if (MonDtCH!=null)
    				{
    					InitialiserAgenda();
    				}
     
    			}
    		}
    #endregion
     
     
    		[Category("DataTable Noms"),
    		Description("Indique la DataTable a ce service pour remplire l'Agenda"),
    		DefaultValue(true)]
     
    		public DataTable DataTable_Noms
    		{
    			get
    			{
    				return MonDt;
    			}
    			set
    			{
    				MonDt = value;
     
    			}
    		}
    dans mon composant

    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    OleDbDataAdapter MonDa = new OleDbDataAdapter("SELECT * FROM Employe",Connection.Connection.ConnectionString());
    			OleDbDataAdapter MonDa2 = new OleDbDataAdapter("SELECT * FROM code",Connection.Connection.ConnectionString());
    			DataSet MonDs = new DataSet();
    			MonDa.Fill(MonDs,"mo");
    			MonDa.Fill(MonDs,"mi");
    			agenda1.Annee=2004;
    			agenda1.Mois=08;
    			MessageBox.Show(MonDs.Tables["mo"].Rows.Count.ToString());
    			agenda1.DataTable_Noms=MonDs.Tables["mo"];	
    			agenda1.DataTable_Code=MonDs.Tables["mi"];
    dans ma form ou je me sert de mon composant

    merci de ton aide

  7. #7
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    En fait t'as pas besoin de dataset (a ce que j'ai compris)

    .Fill marche aussi directement avec une datatable independante de tout dataset:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    OleDbDataAdapter MonDa = new OleDbDataAdapter("SELECT * FROM Employe",Connection.Connection.ConnectionString());
             OleDbDataAdapter MonDa2 = new OleDbDataAdapter("SELECT * FROM code",Connection.Connection.ConnectionString());
     
             agenda1.Annee=2004;
             agenda1.Mois=08;
     
             MonDa.Fill(agenda1.DataTable_Noms);
             MonDa.Fill(agenda1.DataTable_Noms);

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Par défaut
    Citation Envoyé par Piotrek
    .Fill marche aussi directement avec une datatable independante de tout dataset:
    lol ca m'avais echapé merci a toi

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Par défaut
    Voila tout fonction apres des modif

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    DataTable Mon = new DataTable();
    			DataTable Mon2 = new DataTable();
    			OleDbDataAdapter MonDa = new OleDbDataAdapter("SELECT * FROM Employe",Connection.Connection.ConnectionString());
    			OleDbDataAdapter MonDa2 = new OleDbDataAdapter("SELECT * FROM code",Connection.Connection.ConnectionString());
    			//DataSet MonDs = new DataSet();
    			MonDa.Fill(Mon);
    			MonDa2.Fill(Mon2);
     
    			agenda1.DataTable_Noms=Mon;
    			agenda1.DataTable_Code=Mon2;
    Donc j'ai du créer deux datatable vide que je remplit avec mon dataadapter (Merci Piotrek) ensuite j'envois ses deux datatable dans mon composant

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/06/2014, 19h39
  2. [Débutant] Plusieurs datatables dans un dataset
    Par kinder540 dans le forum C#
    Réponses: 5
    Dernier message: 09/07/2013, 01h21
  3. problème d'accès à une datatable dans un dataset
    Par fumesec dans le forum Windows Forms
    Réponses: 0
    Dernier message: 10/07/2009, 18h03
  4. [VB.NET] Copier un datatable dans un dataset
    Par olbi dans le forum VB.NET
    Réponses: 3
    Dernier message: 16/08/2007, 09h57
  5. [c#] Comment sont gérés les noms de DataTable dans un DataSet ?
    Par Seth77 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 10/09/2006, 19h02

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