Apostrophes

felixge Messages postés 1 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 22 avril 2003 - 22 avril 2003 à 09:35
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 23 avril 2003 à 10:11
michelfélix
En lisant un fichier TXT je le découpe en tronçon qui doivent etre mis chacun dans un champ d'une table pour cela je construit dans mon prog une chaîne qui sera la propriété SQL du composant Tquery (par exemple). Seulement j'ai un problème, parfois le texte que j'ai a mettre dans un champ comporte un apostrophe comme [rue de l'encyclopedie] et l'insert ne fonctionne pas
Ma chaîne SQL:
'insert into sig_adresses (TYPE_LIGNE,NO_CONTRAT,ADRESSE_SITE,COMPL_ADR,ADR_LIG2) values ( 'Adresse:','030405070000','R. de l'Encyclopédie 1','','p.a. VILLE DE GENEVE ')'

je ne vois commet résoudre ce problème

Merci d'avance

2 réponses

yvemoreau Messages postés 308 Date d'inscription mardi 11 juin 2002 Statut Membre Dernière intervention 26 septembre 2008
22 avril 2003 à 20:41
'insert into sig_adresses (TYPE_LIGNE,NO_CONTRAT,ADRESSE_SITE,COMPL_ADR,ADR_LIG2) values ( 'Adresse:','030405070000','R. de l''Encyclopédie 1','','p.a. VILLE DE GENEVE ')'

lorsque tu insert un apostrophe tu en ajoute un autre sinon ça devient pour le compilateur impossible de déterminer la fin

string='allo j''espere que ç''est clair';

yve
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 33
23 avril 2003 à 10:11
Ok YveMoreau, mais là c'est à l'exécution que le problème se pose.
La réponse est simple : faire appel à la fonction QuotedStr :
function QuotedStr(const S: string): string;

Description
Utilisez QuotedStr pour convertir la chaîne AnsiString S en une chaîne guillemetée. Un caractère simple (') est inséré au début et à la fin de S et les guillemets simples dans la chaîne sont répétés.

Cette fonction est déclarée dans SysUtils.

May Delphi be with you
0
Rejoignez-nous