J'ai une application où les valeurs du champ de texte sont envoyées à la base de données.
Par exemple, j'ai un formulaire avec un champ (zone de texte). Lorsque j'appuie sur le bouton Ok, le contenu du champ de texte est alors inséré sous forme d'enregistrement dans un tableau. Je ne fais que couper et extraire le texte de la zone de texte en variable et le transmettre à ma chaîne SQL.
Le problème est que chaque fois que quelque chose comme "c'est" ou "de l'ami", la citation simple est identifiée comme la fin de la chaîne. À Delphi, j'ai vu quelque chose comme QuotedString
pour éviter cela. Des idées de vous?
Ne construisez jamais d'instructions SQL comme ça, c'est très dangereux (lisez ceci) . Utiliser des paramètres, à savoir:
var command = new SqlCommand("select * from person where firstname = @firstname");
SqlParameter param = new SqlParameter();
param.ParameterName = "@firstname";
param.Value = "testing12'3";
command.Parameters.Add(param);
Utilisez .Replace("'","''''")
Par exemple
string name = txtName.Text.Replace("'","''''");
name
peut maintenant être passé en tant que paramètre dans une procédure stockée, etc.