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

Accès aux données Discussion :

SQL server 2008 + Visual C# 2010 Express Edition


Sujet :

Accès aux données

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 86
    Points : 48
    Points
    48
    Par défaut SQL server 2008 + Visual C# 2010 Express Edition
    Bonjour,

    Je cherche a creer une table via le code.
    Je n'ai pas l'impression que cela fonctionne.
    Et quand bien meme je cree la table via l'assistant visual je n'arrive pas a la remplir ...

    Sinon j'ai essaye en utilisant sql server management studio mais j'importe ma base de donnees via Donnees >> Ajout d'une nouvelle base de donnees mais je ne sais pas comment y acceder ensuite ...

    Voici mon code :

    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
    41
    42
    43
    44
    45
    46
    47
    48
     
     
    SqlConnection sqlconn = new SqlConnection();
     
                try
                {
     
     
                    string connString = String.Format("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\XMLProg2.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
     
                    sqlconn = new SqlConnection(connString);
     
                    SqlCommand cmd = new SqlCommand("CREATE TABLE XMLFiles6 (NAME varchar(50) NOT NULL,DESCRIPTION varchar(50) NULL,TYPE varchar(50) NULL,MIN varchar(50) NULL,MAX varchar(50) NULL,FEATURE varchar(50) NULL, STORAGE varchar(50) NULL,FILES varchar(50) NULL,CONSTRAINT PK_XMLFiles2 PRIMARY KEY CLUSTERED (NAME ASC)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]) ON [PRIMARY];", sqlconn);
     
                    String CommandText = "INSERT INTO XMLFiles6 VALUES ('ACM', 'REAL', '0', '100', 'PROUT', 'CACA', 'RECACA', 'RERECACA');";
     
     
                    DataSet ds = new DataSet("XMLFiles6");
                    //SqlDataAdapter dacmd;
     
                    // ouvrir la connexionsqlConnection1.Open();
                    sqlconn.Open();
     
                    SqlDataAdapter dacmd = new SqlDataAdapter(cmd);
                    //dacmd.Fill(ds);
     
                    cmd.ExecuteNonQuery();
     
     
                    // Fermeture de la connexionsqlConnection1.Close();
     
     
     
                    SqlDataAdapter dataAdapter = new SqlDataAdapter(CommandText, sqlconn);
                    dataAdapter.Fill(ds, "XMLFiles6");
     
                    //sqlconn.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
     
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
     
                sqlconn.Close();
    A force de le modifier il ne doit plus ressembler a rien donc excusez-moi s'il y a des choses aberantes ...

    Merci d'avance,

    Mathieu

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Ben dejà, exécute ta commande de création et vire ce salmigondi où tu utilises la même commande pour remplir un Adapter en instanciant une autre commande.

    Donc, créé la table via un ExecuteNonQuery et fait un fill de l'adapter après avec une autre instance d'objet command, car là c'est indigeste.

    On se demande d'ailleurs pourquoi tu fais un adapter si c'est juste pour insérer des lignes dans la table, mais là n'est pas la question.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 86
    Points : 48
    Points
    48
    Par défaut
    Oui j'avais prevenu ^^

    C'est juste que j'essaie de remplir une simple table grace au code mais je n'y arrive pas du tout...
    Je n'ai jamais fait ca et je n'ai jamais eu de cours la dessus et pourtant je dois faire ca c'est pour cela que je demande de l'aide.

    Pourrais-tu m'indiquer la bonne syntaxe ?
    Je ne trouve nul part de bon tuto pour faire ce que je veux ou alors c'est que je ne les comprends pas surement

    Bref je suis largue !

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Par exemple, ici le code pour ouvrir la connexion, créer la table et insérer une ligne dedans et fermer la connexion.

    J'ai gardé ta chaine de connexion, ton DML et ce n'est pas testé.(mais ça compile).


    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
     string connString = @"Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\XMLProg2.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
    using (IDbConnection connection = new SqlConnection(connString))
    {
        connection.Open();
        using (IDbCommand cmd = connection.CreateCommand())
        {
            string createTableSql = "CREATE TABLE XMLFiles6 (NAME varchar(50) NOT NULL,DESCRIPTION varchar(50) NULL,TYPE varchar(50) NULL,MIN varchar(50) NULL,MAX varchar(50) NULL,FEATURE varchar(50) NULL, STORAGE varchar(50) NULL,FILES varchar(50) NULL,CONSTRAINT PK_XMLFiles2 PRIMARY KEY CLUSTERED (NAME ASC)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]) ON [PRIMARY];";
            cmd.CommandText = createTableSql;
            cmd.ExecuteNonQuery();
        }
        using (IDbCommand cmd = connection.CreateCommand())
        {
            String insertSql = "INSERT INTO XMLFiles6 VALUES ('ACM', 'REAL', '0', '100', 'PROUT', 'CACA', 'RECACA', 'RERECACA');";
            cmd.CommandText = insertSql;
            cmd.ExecuteNonQuery();
        }
        connection.Close();
    }

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 86
    Points : 48
    Points
    48
    Par défaut
    Effectivement ce code n'a rien a voir avec le mien ...

    J'ai cree une BDD vierge grace a l'assistant visual (Enfin j'ai fait comme si je chargeais une BDD existante mais j'ai donne un nouveau nom ce qui m'a cree la BDD : ca ca marche)

    Ensuite, j'execute ton code
    Moi aussi ca compile mais ca ne modifie pas ma BDD !
    Ca n'a pas ajoute de table.
    C'est bien cense ajouter la table dans le fichier .mdf ?
    Et apres dans le DatabaseExplorer quand je vais dans table je suis cense trouver la table XMLFile (avec le code suivant) :

    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
     
     
    string connString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\DBMathieu.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
                using (IDbConnection connection = new SqlConnection(connString))
                {
                    connection.Open();
                    using (IDbCommand cmd = connection.CreateCommand())
                    {
                        string createTableSql = "CREATE TABLE XMLFiles (NAME varchar(50) NOT NULL,DESCRIPTION varchar(50) NULL,TYPE varchar(50) NULL,MIN varchar(50) NULL,MAX varchar(50) NULL,FEATURE varchar(50) NULL, STORAGE varchar(50) NULL,FILES varchar(50) NULL,CONSTRAINT PK_XMLFiles2 PRIMARY KEY CLUSTERED (NAME ASC)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]) ON [PRIMARY];";
                        cmd.CommandText = createTableSql;
                        cmd.ExecuteNonQuery();
                    }
                    using (IDbCommand cmd = connection.CreateCommand())
                    {
                        String insertSql = "INSERT INTO XMLFiles VALUES ('ACM', 'REAL', '0', '100', 'PROUT', 'CACA', 'RECACA', 'RERECACA');";
                        cmd.CommandText = insertSql;
                        cmd.ExecuteNonQuery();
                    }
                    connection.Close();
                }
    J'ai juste change les noms en mettant ceux que j'utilise actuellement

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par poupou63 Voir le message
    Ca n'a pas ajoute de table.
    C'est bien cense ajouter la table dans le fichier .mdf ?
    Cela ajoute la table dans la base. La notion de fichier n'a rien à faire quand tu parles de bases de données(d'ailleurs je ne sais pas pourquoi tu fais un "attach" plutot qu'une ouverture normale).

    Peut être un problèlme sur ton DDL; essaye le directement dans le SSMS ou ce qui en tient lieu sur SqlExpress.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 86
    Points : 48
    Points
    48
    Par défaut
    Bon alors,

    J'ai trouve ce site qui en gros explique de A a Z comment faire ce que je veux mais ca ne marche toujours pas ...

    voila ce que j'ai fait et l'erreur que j'obtiens :

    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
     
     
    con = new SqlConnection();
                dsl = new DataSet();
                ds2 = new DataSet();
                SqlCommandBuilder cb;
     
                cb = new SqlCommandBuilder(da);
     
                con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Documents and Settings\\tzv88n\\Desktop\\Mathieu\\Delphi\\CSharp\\Visual CSharp 2010 Express\\EssaieBDD2\\DataBaseProject2.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
     
                con.Open();
     
                string sql = "SELECT * From XMLFiles";
     
                da = new SqlDataAdapter(sql, con);
     
                da.Fill(dsl,"XMLFiles");
     
                DataRow dRow = dsl.Tables["XMLFiles"].NewRow();
     
                dRow[1] = "ACM";
                dRow[2] = "ACM";
                dRow[3] = "ACM";
                dRow[4] = "ACM";
                dRow[5] = "ACM";
                dRow[6] = "ACM";
                dRow[7] = "ACM";
     
                dsl.Tables["XMLFiles"].Rows.Add(dRow);
     
                da.Update(dsl, "XMLFiles"); // A ce niveau la : ERROR
     
                con.Close();
    Voici l'erreur :
    Update requires a valid InsertCommand when passed DataRow collection with new rows.

    EDIT : L'erreur se situe ligne 31
    Le site : http://www.homeandlearn.co.uk/csharp/csharp_s12p1.html

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 86
    Points : 48
    Points
    48
    Par défaut
    Bonjour,

    Mon tuteur s'est enfin decide a m'aider ...

    Du coup j'ai ca :

    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
     
     
                con = new SqlConnection();
                dsl = new DataBaseProject2DataSet();
     
                SqlCommandBuilder cb;
     
                string sql = "SELECT * From XMLFiles";
     
                con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Documents and Settings\\tzv88n\\Desktop\\Mathieu\\Delphi\\CSharp\\Visual CSharp 2010 Express\\EssaieBDD2\\DataBaseProject2.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
     
                con.Open();
     
                da = new SqlDataAdapter(sql, con);
     
                cb = new SqlCommandBuilder(da);
     
                da.Fill(dsl,"XMLFiles");
     
                DataRow dRow = dsl.Tables["XMLFiles"].NewRow();
     
                dRow[0] = "ACuu85";
                dRow[1] = "ACM";
                dRow[2] = "ACM";
                dRow[3] = "ACM";
                dRow[4] = "ACM";
                dRow[5] = "ACM";
                dRow[6] = "ACM";
                dRow[7] = "ACM";
     
                dsl.Tables["XMLFiles"].Rows.Add(dRow); // Ajout de la ligne 
     
                da.Update(dsl,"XMLFiles");
     
                con.Close();
    Ca marche niquel j'ai controler avec un affichage, les donnees sont bien enregistrees.
    Cependant je n'ai aucune idee d'ou elles sont stockees.
    Je pensais qu'elles le seraient dans le fichiers .mdf mais non ...

    Quelqu'un a une idee ?

  9. #9
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par poupou63 Voir le message
    Cependant je n'ai aucune idee d'ou elles sont stockees.
    Je pensais qu'elles le seraient dans le fichiers .mdf mais non ...

    Quelqu'un a une idee ?
    Il s'agit encore une fois d'une base de données. Il ne faut pas raisonner en terme de fichier, le stockage physique ne te concerne pas.

    Quand tu te connectes à la base via SSME est ce que tes données sont dedans ?

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 86
    Points : 48
    Points
    48
    Par défaut
    Desole mais moi et les BDD ca fait 150 ...

    Il faut bien que je fasse DataBase >> Attach dans SSMS et que j'ouvre DataBaseProject2.mdf ?

    C'est en tout cas ce que j'ai fait mais j'ai l'erreur suivante :


  11. #11
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 86
    Points : 48
    Points
    48
    Par défaut
    C'est bon j'ai reussi a me connecter c'est que je n'avais pas les droits pour acceder au dossier...

    Du coup il n'y a rien du tout dans ma BDD...
    Je suis en train de deprimer !




    Oui je sais je suis pas doue mais en fait je ne me connecte pas au bon fichier !!!!!
    Du coup j'ai trouve ou c'etait

    Merci Beaucoup pour ton aide et ta patience BlueDeep

    RESOLU


  12. #12
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    C'est bizarre de coller les stockages physiques des bases sur la racine !

    Pour écrire des lignes, je t'ai déjà fourni la solution.

    Encore une fois, je ne vois pas trop l'interêt d'utiliser le DataAdapter dans ce cas.

    Si tu veux comprendre l'anatomie d'une chaine de connexion du vas sur ce site :

    http://www.connectionstrings.com

    Je ne saurais aussi trop te conseiller de lire un tuto sur Sql Server : il y en a d'excellents sur ce site.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  13. #13
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 86
    Points : 48
    Points
    48
    Par défaut
    Je ne sais pas pourquoi j'utilise ca je l'avoue je n'y connait rien j'ai trouve ca sur internet et ca marche donc je ne vais pas chercher plus loin ^^

    Comme je l'ai deja dis je n'ai jamais eu de cours donc forcement ca aide pas ...

    En tout cas je vais pouvoir avancer.

    Encore merci !

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/02/2015, 17h46
  2. Passer de VB à C# dans Visual Studio 2010 express edition
    Par Claude_Azoulai dans le forum Visual Studio
    Réponses: 2
    Dernier message: 15/03/2013, 16h29
  3. Réponses: 0
    Dernier message: 22/09/2011, 23h53
  4. Souci avec Visual C# 2010 Express et SQL Server 2008 Express
    Par VILPELLET dans le forum Visual Studio
    Réponses: 5
    Dernier message: 13/09/2011, 19h20

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