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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 86
    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 : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    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.

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

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 86
    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 : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    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();
    }

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

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 86
    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 : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    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.

+ 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