Quickie - remplacer toutes les occurrences de '(apostrophe) avec " (deux apostrophes) dans un AnsiString (C++)

Je pense que vous pouvez deviner le problème que je vais avoir. Je suis d'insérer les noms de fichiers dans une base de données sql en C++ Builder. Certains fichiers ont une apostrophe dans leur nom. Cela rompt avec le sql de la requête d'insertion. la façon habituelle de résoudre ce problème est de doubler et apostrophes vous voulez faire partie de la valeur du champ.

Par exemple si je veux rajouter "george" champ "propriétaire" de la requête sql serait "insert into table (propriétaire) values ('george"s")"

Je suis ok avec ça. J'ai juste besoin d'obtenir les apostrophes simples remplacé par double. AnsiString ne semble pas avoir un construit en fonction pour cela. Est-il un moyen simple de le faire sans avoir à inclure un tout nouveau fichier d'en-tête?

Merci de ne pas construire vos commandes SQL comme ceci. L'accès à la base de l'API que vous utilisez sûrement permet paramétrées commandes. L'utilisation de cette fonctionnalité. Faire votre chemin est sujette aux erreurs et peut ouvrir votre application à des attaques par Injection SQL.

OriginalL'auteur MrVimes | 2009-01-21