Étant donné une DbConnection de n'importe quel fournisseur de données, est-il possible de déterminer le ou les caractères utilisés pour citer un littéral de chaîne et d'échapper tous les caractères spéciaux dans la chaîne? Je m'intéresse également aux caractères nécessaires pour citer les identifiants de schéma/table/nom de colonne. L'utilisation de paramètres pour spécifier ces éléments n'est pas une option car l'intention de mon application est d'aider les utilisateurs à créer une requête SQL et d'avoir des constantes dans la requête est un scénario courant.Déterminez les caractères d'échappement littéraux de chaîne dans Ado.net
je peux utiliser la collection de schémas DataSourceInformation pour obtenir quelque chose comme StringLiteralPattern et QuotedIdentifierPattern (voir http://msdn.microsoft.com/en-us/library/ms254501.aspx), mais qui ne me permettent de faire correspondre les chaînes existantes et ne pas les créer moi-même.
J'ai commencé à me demander si la procédure standard est juste à deviner. "pour les identificateurs et" pour les littéraux de chaînes avec \ pour échapper des caractères spéciaux dans la chaîne semble être le cas le plus commun (et peut-être seulement) que j'ai vu.J'inquiète juste de passer à travers un pilote inconnu qui est différent. – Trevor