Guillemet simple de gestion dans une chaîne SQL

J'ai une application dans laquelle les valeurs dans le champ de texte sont envoyés à la base de données.

Par exemple, j'ai un formulaire avec un champ (zone de texte). Lorsque j'appuie sur Ok, puis sur le bouton contenu du champ de texte est inséré comme un enregistrement dans une table. Je suis juste de taillage et de l'extraction de la zone de texte du texte dans la variable et le passer à ma chaîne SQL.

Le problème est qu'à chaque fois que quelque chose comme "C'est" ou "Ami" l'apostrophe est identifié comme la fin de la chaîne. Dans Delphi, j'ai vu quelque chose comme QuotedString pour éviter cela. Toutes les idées de vous?

  • êtes-vous à l'aide de paramétrer des requêtes?
  • Si vous pouvez citer des chaînes, vous devez utiliser des requêtes paramétrées comme Mitch suggère.
  • Je devine qu'il va se contenter de la réponse à sa question, plutôt que de s'attaquer au vrai problème. SQL Injection, nous voici!!!!
  • Mitch: en Supposant que SQL Server, je ne pense pas qu'il y a toute une injection SQL de possibilités si toutes les chaînes sont correctement indiqués. Bien sûr, les gens ont l'habitude de systématiquement pas correctement citant chaque chaîne, mal en laissant les choses qu'ils s'attendent à être des dates ou des numéros non cotées.
  • ouais je obtenir ur point... Merci
  • yep. il ne prend qu'une ou deux à se faufiler à travers et c'est "helloo peu de bobby tables!"
  • aussi, vous avez à s'échapper pour COMME des clauses....!
  • Mitch: Si vous parlez d'échapper à % à l'intérieur de LIKE modèles, qui n'a rien à voir avec l'injection SQL et doit être fait manuellement, même avec des requêtes paramétrées.

InformationsquelleAutor JCTLK | 2011-01-10