salut,
je veux enregistrer le contenu d'une zone texte dans la base , cette zone contient une apostrophe (exemple : aujourd'hui) ,or pour l'insertion j'utilise '"+nomClasee.attribut+"' et pour cette taison qu'un erreur se produit!
Comment l'empecher!
Utilises une requete paramétrée plutot qu'une concaténation pour la contruire. Deja ton probleme n'existera plus.
Et cela peut t'eviter quelques problemes de sécurité (injections sql).
Moi je voudrais bien un petit exemple de requête paramétrée, parce que beaucoup de monde en parle de ce pb de sécurité, mais je ne vois pas comment faire ...
(Traduit nous celle ci par exemple, et une petite "INSERT" ou "UPDATE")
public
DataRow getRowMagasin(
String NumMag)
{
OleDbConnection myConnection =
new
OleDbConnection(cString);
OleDbDataAdapter Adapter1 =
new
OleDbDataAdapter();
Adapter1.TableMappings.Add(
"Table",
"MAGASIN");
ConnecterBDD(myConnection);
OleDbCommand Command1;
Command1 =
new
OleDbCommand(
"SELECT * FROM MAGASIN WHERE NumMag='" +
NumMag +
"'");
Command1.Connection = myConnection;
Command1.CommandType =
CommandType.Text;
Adapter1.SelectCommand = Command1;
DataSet ds =
new
DataSet(
"MAGASIN");
Adapter1.Fill(ds);
myConnection.Close();
OK je comprends mieux.
Je ne connaissais pas l'existence de cette classe.
C'est vrai que c'est plus simple.
Merci
Pour ce que vous appelez l'injection SQL, c'est dans le cas ou un utilisateur saisirait dans une textbox une requete sql à la place d'une valeur (avec des ";" pour séparer les requêtes) ?