Comment inserer une ligne a ma table en prenant l'information du textbox

Résolu
prodotnet Messages postés 26 Date d'inscription jeudi 8 janvier 2009 Statut Membre Dernière intervention 1 septembre 2009 - 4 févr. 2009 à 20:09
prodotnet Messages postés 26 Date d'inscription jeudi 8 janvier 2009 Statut Membre Dernière intervention 1 septembre 2009 - 14 févr. 2009 à 21:10
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

cs_youma85 Messages postés 82 Date d'inscription dimanche 18 février 2007 Statut Membre Dernière intervention 28 avril 2011 1
4 févr. 2009 à 22:16
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);
3
cs_youma85 Messages postés 82 Date d'inscription dimanche 18 février 2007 Statut Membre Dernière intervention 28 avril 2011 1
4 févr. 2009 à 22:22
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();
3
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
5 févr. 2009 à 07:08
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)
3
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
5 févr. 2009 à 16:38
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 ;-)
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
prodotnet Messages postés 26 Date d'inscription jeudi 8 janvier 2009 Statut Membre Dernière intervention 1 septembre 2009
5 févr. 2009 à 01:09
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 $$










 
0
cs_youma85 Messages postés 82 Date d'inscription dimanche 18 février 2007 Statut Membre Dernière intervention 28 avril 2011 1
5 févr. 2009 à 20:41
oui vous avez raison j'ai oublié de les ajouter
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
14 févr. 2009 à 18:51
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
*/
0
prodotnet Messages postés 26 Date d'inscription jeudi 8 janvier 2009 Statut Membre Dernière intervention 1 septembre 2009
14 févr. 2009 à 21:10
Merci a tous , le pb a été resolu
0
Rejoignez-nous