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

C# Discussion :

base de donnees / C#


Sujet :

C#

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Points : 8
    Points
    8
    Par défaut base de donnees / C#
    Bonjour tou le monde ,
    Je suis débutante en programmation c# et j'ai un projet a présenter la fin du mois et j'ai pas mal de souci.
    Enfin bref je vous explique:
    Je dois gérer une partie d'utilisateurs, pour cela il faut créer une Base de données et puis une interface IHM avec laquelle je pourrai ( modifier , ajouter , supprimer des utilisateurs ) sans passer par la modification depuis ma base de donnes. Grosso modo , si par exemple dans mon programme ( déjà crée et qui se compose de 3 Text Box , un boutton ajouter , et un datagrid view) je rentre le nom d'un new user, il s'ajoute dans mon datagraid view et ma bdd.
    J'essaye deja de me connecter a ma base je pense que j'ai réussi. Pour la récupération des données j'arrive pas et pourtant je pense que j'ai mis le bon code.
    Mon erreur :
    Le nom connection string n'existe pas dans le contexte actuel
    Voici le code est ce que quelqu'un pourrait m'aider a trouver la faille
    Merci d'avance:
    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    using System.Data.Common;
    using System.Data.ProviderBase;
     
    namespace test_connexion_BDD
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private void Form1_Load(object sender, EventArgs e)
            {
     
            }
     
            private void textBox1_TextChanged(object sender, EventArgs e)
            {
     
            }
     
            private void connex_Click(object sender, EventArgs e)
            {
                //_____________________________________________________Button Connexion___________________________ 
                // Connexion à la base de données
                SqlConnection connexion = new SqlConnection();
                connexion.ConnectionString = @"Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=SSPI";
     
     
                try
                {
                    connexion.Open(); // Ouverture de la connexion
     
     
                }
                catch (Exception ex)
                {
                    // Affiche des erreurs
                    Console.WriteLine(ex.Message);
                }
     
            }
     
            private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
     
            }
     
            private void val_Click(object sender, EventArgs e)
            {
                //_____________________________________________________Button Valider____________________________
     
                if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "")
                {
     
                    MessageBox.Show("Vous devez remplir Tous les champs pour valider le formulaire", "Saisie incomplète", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
     
                }
     
                try
     
                    {
                        using (SqlConnection connexion = new SqlConnection(connectionString))
                        {
                            connexion.Open();//--Ouverture de connexion
                //-------------------------------------Requête SQL-----------------------------
     
                SqlCommand sqlCommand = new SqlCommand("INSERT INTO user (ID,Nom , Prenom , soldes) values (@ID, @Nom , @Prenom , @Sodes) ", connexion);
     
                //-----------------------------Création de variable de Textbox------------------
     
                //Tesxt Box Id
                        sqlCommand.Parameters.Add(
                            "@ID",SqlDbType.VarChar);
     
                        sqlCommand.Parameters[
                            "@ID"].Value= textBox1.Text;
     
     
                 //textbox -> variable @Nom
     
                            sqlCommand.Parameters.Add(
                                "@Nom", SqlDbType.VarChar);
     
                            sqlCommand.Parameters[
                                "@Nom"].Value = textBox2.Text;
     
                            //textbox -> variable @Prenom
     
                            sqlCommand.Parameters.Add(
                                "@Prenom", SqlDbType.VarChar);
     
                            sqlCommand.Parameters[
                                "@Prenom"].Value = textBox3.Text;
     
                            //textbox -> variable @Unites 
     
                            sqlCommand.Parameters.Add(
                                "@Soldes", SqlDbType.VarChar);
     
                            sqlCommand.Parameters[
                                "@Soldes"].Value = textBox4.Text;
     
                            //-- Execution de la commande ----
     
                            sqlCommand.ExecuteNonQuery();
     
                        }
     
     
                    }
                    catch (Exception exep) { System.Windows.Forms.MessageBox.Show(exep.Message); }
    }
     
     
     
            }
     
     
     
     
     
     
     
        }

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Tu peux initialiser à la création de l'objet connexion.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SqlConnexion con=new SqlConnexion(@"Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=SSPI");

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Oui j'ai essayé , mais ca marche toujours pas
    en faite la ligne de code la c'est pour se connecter a la base de donnees ?
    et sinon il faut l'ajouter dans le Fichier XML app.config c'est ca ?
    Merci pour ta réponse =D

  4. #4
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Oui, pour la première question et non, vous ne pouvez pas ajouter cette ligne dans le fichier de configuration.
    Est ce que je peux avoir la capture d'écran de ton erreur ?

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Voir pièce jointe
    Images attachées Images attachées  

  6. #6
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Normal, tu ne peux pas utiliser une variable que tu n'as pas déclaré dans cette portée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    string ConnectionString=@"Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=SSPI";
    using(SqlConnexion con=new SqlConnexion(ConnectionString))
    {
      //Ton code ici
    }

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 206
    Points : 196
    Points
    196
    Par défaut
    connectionString est inconnu dans ta fonction val_Click.
    Il te faut préalablement la déclarer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String connectionString = "ma chaine de connexion";
    soit au niveau de ta fonction directement, soit de manière globale dans ton formulaire.

    Le problème c'est que dans connex_Click tu créé un objet SqlConnection mais la portée de cet objet est uniquement la fonction dans laquelle il est créé.

    Donc une solution peut être de déclarer cet objet de manière globale à ton formulaire afin que tu y accèdes dans toutes ses fonctions.

    Sinon le mieux est de créer une classe de connexion à ta base de données qui gère toutes les fonctions de connexion et d'accès à ta base et aux données.

    En cherchant sur la toile, tu trouvera des tutoriels t'expliquant tout cela.


  8. #8
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Citation Envoyé par jackasse Voir le message
    Oui Oui Bien sur
    [IMG]url=http://www.casimages.com/img.php?i=110201123342104114.jpg[/IMG]
    En examinant ton code ci-dessus, je me suis rendu compte que tu a ouvert ta connexion alors que tu n'es pas encore prêt a executer ta requête. Il ne faut plus jamais faire comme-cela.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Il est recommandé d'ouvrir la connexion tardivement et de la fermer aussitôt que vous avez eu les résultats.
    C'est valable pour toutes les recources commes les disks, les sockets ...

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    aH oK Je vous remercie de votre aide , sinn t'aurai pas un lien vers un tuto qui pourrai m aider , parce que comme j ai dis au début je suis débutante et je viens de connaitre le c# il y a une semaine donc c tendu quoi

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 206
    Points : 196
    Points
    196
    Par défaut
    Un site intéressant concernant la chaine de connexion :
    http://www.connectionstrings.com

    Un autre lien sur les requêtes paramétrée : http://webman.developpez.com/article...ameter/csharp/


    ......

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Ok Je vs remercie , et sinon j ai une petit question sur le data grid
    en faite en lançant la requête sql pour rentrer une nouvelle valeurs ou pr ajouter un New user , sa s'enregistre seulement sur La BDD ou sur La table du Datagrid et La bdd

  12. #12
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    J'ai pas bien compris votre question.

  13. #13
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 71
    Points : 110
    Points
    110
    Par défaut
    Salut,

    au passage, pensez à utiliser la classe ConnectionStringBuilder quand elle est dispo pour une base de données.
    Dans votre cas : SqlClient.SqlConnectionStringBuilder.
    Elle évite les erreurs de frappe et permet de découvrir certains paramètres utiles.

    Merci

  14. #14
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    salut
    ma question en Gros c'est a quoi sert un datagrid wiew

  15. #15
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 71
    Points : 110
    Points
    110
    Par défaut
    salut,

    Un DataGridView est un controle qui te permet de faire le lien avec un objet implémentant l'interface IList (comme les DataTables)
    Il reflète le contenu d'un DataTable et est mis à jour automatiquement à la suite d'actions sur ce DataTable.
    L'inverse est aussi vrai. Toute modification sur le DataTable est répercuté sur le datagridview.
    Par contre, ce n'est pas parce que ton DataTable est modifié que ta base de données l'est.
    Pour cela il faut faire la "tuyauterie" de mise à jour. (Plusieurs solutions dont des simples)

  16. #16
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Merci, je pense que je commence a Bien Comprendre La Notion des Datagrid & les Dataset

  17. #17
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Est ce que tu peux clore se poste en le marquant résolu ?

  18. #18
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Février 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Oui Oui biensur
    et Merci encore pour votre aide les Gars

  19. #19
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Ok et nous te souhaitons les bienvenus sur le merveilleux Forum Developpez.com

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

Discussions similaires

  1. taille maximale d'une base de donnée paradox
    Par Anonymous dans le forum Paradox
    Réponses: 5
    Dernier message: 14/02/2004, 17h39
  2. Proprietes du fichier de base de donnees
    Par Mouse dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/03/2003, 15h14
  3. [sgbd] Accès au base de données en Perl
    Par totox17 dans le forum SGBD
    Réponses: 3
    Dernier message: 24/02/2003, 16h05
  4. [VB6] [Access] Compacter une base de donnée
    Par mdoyer dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 24/09/2002, 11h33
  5. [VB6] [ODBC] Référencer une base de données avec vb
    Par af.balog dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 13/09/2002, 09h51

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