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 :

Ajout d'un dataTable et ses colonnes à un dataSet


Sujet :

Windows Forms

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Ajout d'un dataTable et ses colonnes à un dataSet
    Bonjour, tout d'abord je tiens à préciser que je suis conscient que des sujets similaires à celui-ci existent, cependant ceux ci n'ont pas pu m'aider à résoudre mon problème.

    Donc voilà, je voudrais ajouter un dataTable et ses colonnes dans le DataSet.xsd, connaissez vous la solution ?

    Voici le code que j'ai pour le moment qui ne fonctionne pas.

    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
     
            private void btnAjouter_Click(object sender, EventArgs e)
            {
                try
                {
                    if (txtNouvelleTable.Text != "")
                    {
                        string nomTable = txtNouvelleTable.Text;
                        DataSet1 ds = new DataSet1();
                        DataTable dt = new DataTable();
                        dt.TableName = nomTable;
                        ds.Tables.Add(dt);
                        cboTable.Refresh();
                        MessageBox.Show("La table à bien été ajouté", "Information",                           MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("Vous devez saisir un nom de table", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Concernant ta demande, un code qui ne fonctionne pas provoque soit une erreur (une exception) soit un résultat non conforme (ça ne fait pas ce que tu désires).

    En cas d'erreur, il est fortement apprécié d'indiquer l'instruction qui bloque ainsi que l'exception lancée.
    En cas de résultat non conforme merci de décrire le comportement obtenu et le comportement voulu.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Salut, désolé de ne pas avoir donner plus de précision, donc ce bout de code ne lève aucune exception ou erreur, le code se déroule "bien", lors de l'exécution de celui ci je peux voir que mon dataTable s'ajoute bien à mon objet DataSet1 cependant il à l'air de disparaître lors de la fermeture du programme et donc le nouveau datatable n'est pas présent dans mon fichier xsd.

    Voilà j'espère avoir été clair.

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    C'est nettement plus clair ainsi.

    Les deux liens suivants pourront peut être vous aider.

    Pour enregistrer le schéma d'un dataset en un fichier XSD:
    http://msdn.microsoft.com/en-us/library/41732z18.aspx

    Pour charger le schéma d'un dataset d'un fichier XSD:
    http://msdn.microsoft.com/en-us/library/atchhx4f.aspx

    Néanmoins j'apporterai encore les précisions suivantes:

    Il y a deux type de dataset, les dataset fortement typé et les dataset faiblement typé.

    Un dataset fortement typé est un dataset "amélioré" créé par un outil de génération de code de Visual Studio à partir du base de donnée. Ces derniers apportent aux dataset quelques ajouts bien pratique lors de la programmation du code de l'application permettant d'accéder au colonnes par leur nom plutot qu'une collection nommée et permettant de voir pas mal d'erreur lors de la conception et non lors de l'execution du logiciel. A priori on modifie un fichier XSD lors de la conception du logiciel et non à l'execution.

    Les informations fournies ont donc une utilité si l'on désire créer un générateur de dataset qui remplacerait celui de VisualStudio ou si l'on désire faire une application qui ne connaît pas la structure des données (ou que partiellement) qu'elle va traiter. (Version d'une application non synchronisée avec la version d'une base de donnée chez différents clients (je plains celui qui doit gérer ce genre de trucs par contre !))

    Si votre cas ne correspond pas à ces deux situation, mais par exemple que vous avez ajouter une table à votre base de donnée et que vous créé une nouvelle version de votre application pour implémenter les fonctionnalités relatives à la nouvelle table. Je vous conseille d'utiliser les outils fourni par VisualStudio pour mettre à jour votre xsd, ainsi que le code de votre application. Il faut alors ensuite déployer la modification du programme en même temps que la modification de la base de donnée.

    Dernier point, la sauvegarde des données contenues dans le dataset et la sauvegarde de la structure de ces données (le schéma) sont 2 points totalement différents. Le fichier XSD ne contient pas les données saisies dans votre logiciel!

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup pour votre réponse, j'ai zieuté les liens ça à l'air pas mal je vais voir tout ça d'un peu plus près

Discussions similaires

  1. [JTable] ajout d'un bouton dans une colonne
    Par Blast dans le forum Composants
    Réponses: 7
    Dernier message: 15/03/2007, 17h33
  2. Réponses: 2
    Dernier message: 06/07/2006, 13h09
  3. Réponses: 3
    Dernier message: 28/04/2006, 09h51
  4. Ajouter en TSQL l'autoincrémentation sur colonne existante
    Par [DreaMs] dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/12/2005, 18h13
  5. TListView et largeur de ses colonnes
    Par bob8181_2000 dans le forum C++Builder
    Réponses: 3
    Dernier message: 02/10/2005, 12h06

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