Vérifier si la table existe si l'instruction en C#?

J'essaie de mettre en place une instruction if pour vérifier si une table est déjà créé. Je ne veux créer un tableau, mais comme il est maintenant, je créer un tableau à chaque fois que je clique sur le bouton pour stocker les informations. Toutes les suggestions?

    DataTable dt;

    private void InitDataTable()
    {

        if () { 

        }

        dt = new DataTable();
        DataSet ds = new DataSet();
        ds.ReadXml("gjesteInfo.xml");
        ds.Tables.Add(dt);

        DataColumn dc1 = new DataColumn("Fullt navn");
        DataColumn dc2 = new DataColumn("Start dato");
        DataColumn dc3 = new DataColumn("Antall dager");

        dt.Columns.Add(dc1);
        dt.Columns.Add(dc2);
        dt.Columns.Add(dc3);

        dt.Rows.Add(gjestenavnInput.Text, datoInnsjekk.Text, antallDager.Text);

        ds.Merge(dt);

        ds.WriteXml("gjesteInfo.xml");

    }



    private void lagre_Click(object sender, EventArgs e)
    {

        InitDataTable();

        gjesterutenrom.Items.Add(gjestenavnInput.Text);

        gjestenavnInput.Text = "";
        datoInnsjekk.Text = "";
        antallDager.Text = "";

        DataSet onClick = new DataSet();
        onClick.ReadXml("gjesteInfo.xml");
        lagredeGjester.DataSource = onClick.Tables[0];

    }

J'essaie de faire passer les informations sont stockées dans le XLM avec un DataGridView nommé lagredeGjester comme on le voit plus.

MIS À JOUR QUESTION :

Maintenant que j'ai écrit le code comme ceci :

    DataTable dt;

    DataSet ds = new DataSet();

    private void InitDataTable()
    {


         if( ds.Tables.Contains("Gjester")   )
        {
            dt.Rows.Add(gjestenavnInput.Text, datoInnsjekk.Text, antallDager.Text);
            ds.Merge(dt);

            ds.WriteXml("gjesteInfo.xml");

        }
        else {

            dt = new DataTable("Gjester");

            ds.ReadXml("gjesteInfo.xml");
            ds.Tables.Add(dt);

            DataColumn dc1 = new DataColumn("Fullt navn");
            DataColumn dc2 = new DataColumn("Start dato");
            DataColumn dc3 = new DataColumn("Antall dager");

            dt.Columns.Add(dc1);
            dt.Columns.Add(dc2);
            dt.Columns.Add(dc3);

            dt.Rows.Add(gjestenavnInput.Text, datoInnsjekk.Text, antallDager.Text);
            ds.Merge(dt);

            ds.WriteXml("gjesteInfo.xml");

        }

    }

Sur mon premier run, je suis entré à deux infomations et pressa le bouton. Les deux info suis dans le même tableau comme je le voulais. Mais je n'arrive pas à écrire mon instruction if correctement. Lorsque j'exécute le code ci-dessus, il fonctionne avec un XML vide (sans tables), mais en tant que "Gjester" la création de la table, il dit: "Un DataTable nommé "Gjester' appartient déjà à cet ensemble de données." Mais n'est-ce pas ce que mes si la déclaration doit prévenir? Comme je l'ai écrit aujourd'hui, ne devrait-il pas simplement d'ajouter de l'info et de ne pas essayer de créer une nouvelle table?

InformationsquelleAutor Praise | 2013-04-22