Erreur dans l'insertion bd sqlserver

linux20009 Messages postés 3 Date d'inscription vendredi 12 mars 2010 Statut Membre Dernière intervention 22 avril 2010 - 22 avril 2010 à 08:07
linux20009 Messages postés 3 Date d'inscription vendredi 12 mars 2010 Statut Membre Dernière intervention 22 avril 2010 - 22 avril 2010 à 22:11
svp besoin d'aide pour cette erreur: syntaxe incorrect vers le mot clé 'user'

le code suivant:
public void Ajouter_Click(object sender, EventArgs e)

{
//on vérifi que tout les champs sont remplis
if (this.idTextBox.Text "" || this.loginTextBox.Text "" || this.mpasseTextBox.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;

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);

}

3 réponses

cs_youma85 Messages postés 82 Date d'inscription dimanche 18 février 2007 Statut Membre Dernière intervention 28 avril 2011 1
22 avril 2010 à 11:28
Vous devez mettre des quottes '' pour chaque chaine de caractère

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 + "' )";

mais je vous propose de ne plus travailler comme ça, vous pouvez utiliser String.format ou SqlParameter


Youma85
0
linux20009 Messages postés 3 Date d'inscription vendredi 12 mars 2010 Statut Membre Dernière intervention 22 avril 2010
22 avril 2010 à 12:56
Merci Pour votre aide
0
linux20009 Messages postés 3 Date d'inscription vendredi 12 mars 2010 Statut Membre Dernière intervention 22 avril 2010
22 avril 2010 à 22:11
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
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
0
Rejoignez-nous