Comment inserer une ligne a ma table en prenant l'information du textbox [Résolu]

Signaler
Messages postés
26
Date d'inscription
jeudi 8 janvier 2009
Statut
Membre
Dernière intervention
1 septembre 2009
-
Messages postés
26
Date d'inscription
jeudi 8 janvier 2009
Statut
Membre
Dernière intervention
1 septembre 2009
-
bonjours a tous ,
je veux insérer a ma table (qui contient 2 colonnes id et nom sachant que id s' incremente automatiquement )
alors j'ai utilisé le code ci desous mais ,, ça na pas marcher au niveau      SqlCommand command = new SqlCommand(" INSERT INTO ahmed(nom)VALUES ({0}), b " ,connexion); 
*********************************************************************
try
    {
        string connectString = "Initial Catalog=BDD1;server=AHMED-A32FEEED0;Integrated Security=True;Pooling=False";
  // Objet connection
      SqlConnection connexion = new SqlConnection(connectString);
   connexion.Open();
       MessageBox.Show("ouverture  de connection ");
      string b = textBox1.Text;
     SqlCommand command = new SqlCommand(" INSERT INTO ahmed(nom)VALUES ({0}), b " ,connexion);                     
                command.ExecuteNonQuery();
               }

                  catch (Exception ex)
                  {
                      MessageBox.Show("exception ");
                      System.Diagnostics.Debug.WriteLine(ex.ToString());

                  }
******************************************************************
je demande votre aide et MERCI  de me répondre

8 réponses

Messages postés
82
Date d'inscription
dimanche 18 février 2007
Statut
Membre
Dernière intervention
28 avril 2011
1
salut,
essaye de remplacer:
SqlCommand command = new SqlCommand(" INSERT INTO ahmed(nom)VALUES ({0}), b " ,connexion);

par:

SqlCommand command = new SqlCommand("INSERT INTO ahmed(nom)VALUES ("+b+")" ,connexion);
Messages postés
82
Date d'inscription
dimanche 18 février 2007
Statut
Membre
Dernière intervention
28 avril 2011
1
vous pouvez aussi travailler avec SqlParameter :

string sql="INSERT INTO ahmed(nom) values (@param )";

SqlParameter p1=new SqlParameter(sql,cnx);
p1.ParameterName = "@param";
p1.DbType = DbType.String;
command.Parameters.Add(p1);

command.ExecuteNonQuery();
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
62
Hello,

Comme te l'a indiqué youma95 dans son 2ème message, essaie avec des requêtes paramétrées

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
42
SqlCommand command = new SqlCommand("INSERT INTO ahmed(nom)VALUES ("+b+")" ,connexion);
=>
SqlCommand command = new SqlCommand("INSERT INTO ahmed(nom)VALUES ('"+b+"')" ,connexion);

Si c'est une chaine de caractères, il faut mettre des apostrophes autour de la valeur ;-)
Messages postés
26
Date d'inscription
jeudi 8 janvier 2009
Statut
Membre
Dernière intervention
1 septembre 2009

Bonsoir a tous ,
Merci bien youma85
, mais malheuresement  le probleme n'a pas été resolu , meme en utilisant 
SqlCommand command = new SqlCommand("INSERT INTO ahmed(nom)VALUES ("+b+")" ,connexion);

le compilateur genere une exeption  de type   'System.Data.SqlClient.SqlException
( j'ai mis le truc dans un bloc try catch) au niveau  command.ExecuteNonQuery();

repondez moi s'il y a de neuf $$

merci bien $$










 
Messages postés
82
Date d'inscription
dimanche 18 février 2007
Statut
Membre
Dernière intervention
28 avril 2011
1
oui vous avez raison j'ai oublié de les ajouter
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
Salut,

Pourquoi corriger plusieurs problèmes d'un coup avec des requêtes paramétrées quand on peut connaitre les joies des bugs plus ou moins violents et des failles de sécurité découverts au fur et à mesure................

Tapez donc un texte contenant le caractère ' dans textBox1, pour accélérer un peu la découverte du problème suivant.
Et juste après renseignez vous sur l'injection SQL.

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
26
Date d'inscription
jeudi 8 janvier 2009
Statut
Membre
Dernière intervention
1 septembre 2009

Merci a tous , le pb a été resolu