Créer une base de données locale via un DataSet

Waylander - Modifié par Whismeril le 11/09/2015 à 18:19
Waylander59 Messages postés 11 Date d'inscription vendredi 11 septembre 2015 Statut Membre Dernière intervention 7 octobre 2015 - 5 oct. 2015 à 09:49
Bonjour à tous.

Je viens vous voir après deux jours d'intenses recherches..
Voici mon problème :


Je souhaite créer une base de données locale via un DataSet rempli au préalable.
J'ai testé avec la classe SqlConnection, mais pas moyen de me connecter (même sur une base créée manuellement via Visual Studio (2008 au passage)). Et je me retrouve avec le même soucis de connexion avec un SqlDataAdapter..
J'ai déjà passé deux jours à comprendre et faire fonctionner les DataSet (surtout avec DataRow qu'on ne peut pas instancier via son constructeur) alors je commence un peu à désespérer.. Si quelqu'un a une solution, je suis preneur :)

Je vous mets une partie de mon code, qui permet de remplir mon dataset (attention les yeux, ça pique !) :


private bool RemplirDataSet(int nb)
        {
            bool reussite = false;
            string[] lignes = new string[nb];

            //Récupération du fichier de sauvegarde
            Fichier fichier = new Fichier(fichierSauvegarde);
            lignes = fichier.LireFichierParLigne(fichierSauvegarde);

            // création dataset
            DataSet ds = new DataSet();
            ds = CreerBasePerso();

            // création datatable + colonnes
            DataTable dt = new DataTable();
            dt = CreerTablePerso(ds);

            string[] fill = new string[dt.Columns.Count - 1];

            // création + ajout de lignes dans la table
            for (int i = 0; i < lignes.Length; i++)
            {
                DataRow dr = dt.NewRow();
                fill = lignes[i].Split(';');
                for (int j = 0; j < fill.Length; j++)
                {
                    dr[j + 1] = fill[j];
                }
                dt.Rows.Add(dr);
                reussite = true;
            }
            return reussite;
        }


Pour info, "LireFichierParLigne()" me permet de récupérer les données de mon fichier .txt (qui seront intégrées dans mon dataset). Ces données sont séparées par un ";" afin de les différencier.


Merci à vous !

EDIT : Ajout du LANGAGE dans les balises de code.
Explications disponibles ICI

Merci d'y penser dans tes prochains messages.

5 réponses

cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
12 sept. 2015 à 09:39
Bonjour,

si ta table sql existe

tu peux facilement faire

1. creer SqlDataAdapter
2. definir les commande select,insert , update, delete
3. faire un fill vers ton dataset ou datatable
4. ajouter les données dans ton dataset ou datatable
5. executer tonDataAdapter.update()

si ta table n'existe pas tu peux avant cela creer un SqlCommand pour un create table et lancer un ExecuteNonQuery

Bonne journée
1