-
C#, SQL et l'apostrophe
Bonjour à tous,
je suis un peu embrouillée à propos de l'utilisation d'apostrophe dans une base de données. J'ai vu des informations sur les forums, mais je suis confuse.
J'ai une base de données (SQL Server) où je garde tous les noms de clients de mon entreprise. Il s'avère qu'un des mes clients s'appelle "Prud'homme"
quand j'ai fait mon INSERT en c#, tout a bien fonctionné, le nom de mon client est le bon.
Cependant, quand je fais une requête sur ce client, mon programme plante et j'ai une erreur à cause de cette apostrophe.
Comment je peux faire pour remédier à ce problème? Lors de l'insertion je met 2 apostrophes? ou bien lors de la requête je fais une condition quelque part pour la doubler.. c'est là que je ne comprends pas bien quoi faire.
Merci de votre aide !
-
Il faut utiliser les requêtes paramétrées.
Il y a de nombreux exemples sur ce forums et sur internet, une simple recherche suffira à trouver ton bonheur :).
-
meziantou ! Je crois que je vous aime ! haha
Merci infiniment. J'avais probablement mal saisi les explications sur les forums. J'utilisais déjà les requêtes paramétrées pour mes INSERT, selon les recommandations de plusieurs personnes afin d'éviter que quelqu'un n'efface un BD au complet avec un DELETE dans un champ de formulaire, mais je n'avais pas compris qu'on pouvait les utiliser pour "toutes" les formes de requêtes.
Des modifications s'imposent dans mon code alors !
Merci encore !
-
La solution ici serait de doubler l'apostrophe dans le nom lorsque ce nom apparait en clair dans une requête.
Mais la solution des requêtes paramétrées est la solution la plus propre, la plus universelle, etc... En fait avec des requêtes on passe le texte tel que l'on a dans un paramètre, et c'est le moteur SQL qui se charge de formater tout ça pour que ça passe dans une requête (parce que il n'y a pas que l'apostrophe qui peut poser problème)