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
A voir également:

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
67
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
51
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
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
99
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