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 :

erreur dans insertion bd sqlserver


Sujet :

C#

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 4
    Points : 5
    Points
    5
    Par défaut erreur dans insertion bd sqlserver
    Bonjour,
    J'ai besoin d'aide pour cette erreur:
    syntaxe incorrect vers le mot clé 'user'
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    public  void Ajouter_Click(object sender, EventArgs e)
     
            {
                   //on vérifi que tout les champs sont remplis
                if (this.idTextBox.Text == null || this.loginTextBox.Text == null || this.mpasseTextBox.Text == null || this.nomTextBox.Text == null || this.prenomTextBox.Text == null)
                {
                    MessageBox.Show("Veuillez remplir tout les champs");
     
     
                }
                else
                {
     
     
                    //source : livre introduction c# 2008 p 228
                    string strConnexion = ConfigurationManager.ConnectionStrings["Pyramide.Properties.Settings.centreConnectionString"].ConnectionString;
     
                    try
                    {
                        SqlConnection oConnection = new SqlConnection(strConnexion);
     
                        oConnection.Open();
                        SqlCommand oCommand = oConnection.CreateCommand();
                        oCommand.CommandText = "INSERT INTO user(id_user,login_user, pass_user, nom_user, prenom_user) VALUES (" + this.idTextBox.Text + "," + this.loginTextBox.Text + "," + this.mpasseTextBox.Text + "," + this.nomTextBox.Text + "," + this.prenomTextBox.Text + "  )";
     
     
                        int nbligne = oCommand.ExecuteNonQuery();
                        MessageBox.Show("Ajout effectué avec succés");
                        oConnection.Close();
                    }
                    catch (Exception x)
                    {
                        MessageBox.Show("L'erreur suivante a été rencontrée :" + x.Message);
     
                    }
    Merci de m'aider.

  2. #2
    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
    Peut être faudrait il que tes variables de types string soit entre '' dans ta requête ?

    Je pense que tu devrais essayer un requête paramétré afin de faciliter la tâche.

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur / DBA
    Inscrit en
    Septembre 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur / DBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 133
    Points : 152
    Points
    152
    Par défaut
    Bonjour,

    Je suis du même avis la requête paramétrée ou la procédure stockée paramétrée serait je le pense plus judicieuse !

    Pour pousser plus loin tu peux également utiliser les Génériques plutôt que de systématiquement créer une commande... c'est plus propre au final.
    Digital D.N.A

  4. #4
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    slt, merci pour l'aide
    j'ai utilisé des requetes paramétré et ca passé mais un probleme c'est que quand j'execute l'application ca fonctionne mai apré que je sort je trouve que les donnée ne sont pas insérer .
    le code est le 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
    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
     
    public  void Ajouter_Click(object sender, EventArgs e)
     
            {
                   //on vérifi que tout les champs sont remplis
                if ( this.loginTextBox.Text == "" || this.passTextBox.Text =="" || this.nomTextBox.Text == "" || this.prenomTextBox.Text == "")
                {
                    MessageBox.Show("Veuillez remplir tout les champs");
     
     
                }
                else
                {
     
     
                    //source : livre introduction c# 2008 p 228
                    string strConnexion = ConfigurationManager.ConnectionStrings["Pyramide.Properties.Settings.centreConnectionString"].ConnectionString;
                    string requete; 
     
     
                    try
                    {
                        SqlConnection oConnection = new SqlConnection(strConnexion);
     
     
                        // requete insert
                        requete = "INSERT INTO [user] (login_user, pass_user, nom_user, prenom_user) VALUES (@login_user, @pass_user, @nom_user, @prenom_user)";
                        SqlCommand oCommand = new SqlCommand (requete, oConnection);
     
                        //Création et décalartion des paramètres 
     
                        oCommand.Parameters.Add(new SqlParameter("@login_user", SqlDbType.NVarChar, 50));
                        oCommand.Parameters.Add(new SqlParameter("@pass_user", SqlDbType.NVarChar, 50));
                        oCommand.Parameters.Add(new SqlParameter("@nom_user", SqlDbType.NVarChar, 50));
                        oCommand.Parameters.Add(new SqlParameter("@prenom_user", SqlDbType.NVarChar, 50));
                        //Attribution des valeurs aux paramètres 
     
                        oCommand.Parameters["@login_user"].Value = loginTextBox.Text ;
                        oCommand.Parameters["@pass_user"].Value = passTextBox.Text;
                        oCommand.Parameters["@nom_user"].Value = nomTextBox.Text;
                        oCommand.Parameters["@prenom_user"].Value = prenomTextBox.Text; 
     
     
                        oCommand.Connection.Open();
                        oCommand.ExecuteNonQuery();
                        MessageBox.Show("Ajout effectué avec succés");
                        //raffraichir le datagrid
                        // On remplit le DataSet
     
                        this.userTableAdapter.Fill(this.centreDataSet.user);
                        // On remplit l'affichage de la grille
                        this.userBindingSource.DataSource = this.centreDataSet;
                        this.dataGridView1.DataSource = this.userBindingSource;
                        oCommand.Connection.Close();
                    }
                    catch (Exception x)
                    {
                        MessageBox.Show("L'erreur suivante a été rencontrée :" + x.Message);
     
                    }
    est ce qu'il y en a une confuguration precise pour la base ou quoi
    svp aidez moi
    merci une autre foi

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Essaie en finissant ta requête par un "COMMIT WORK;"

  6. #6
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Salut

    user est un mot réservé en TSQL, Change tout simplement le nom de ta table

    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

Discussions similaires

  1. [MySQL] Problème de délai ou erreur dans insert?
    Par guznat dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/03/2011, 23h56
  2. Erreur dans insertion formule par VBA
    Par Nanit6 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/01/2011, 17h33
  3. [MySQL] Erreur dans insert into issu d'un fichier csv
    Par pasbonte dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 18/02/2009, 18h18
  4. [DOM] erreur dans insertion
    Par roosse dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 10/04/2008, 10h30
  5. Réponses: 6
    Dernier message: 02/06/2005, 12h44

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