Delphi plante quand un utilisateur met des simple ou double quote dans un champ texte
Bonjour à tous :)
Je reviens vous voir pour vous poser une question concernant un problème que je rencontre avec Delphi 7 et la base de données Firebird 2.0.3 (la base importe peu dans mon cas).
J'ai crée un programme avec différents champs (donnée d'un client). Le problème est que lorsque l'utilisateur place des simple ou double quote, le programme plante à cause d'un mauvais échappement au niveau de la requête SQL.
Exemple : o'brian ou 3"5 (je sais ce cas ne se présentera pas mais on sait jamais...).
Voici mon bout de code pour vous montrer comment j'ai voulu régler le problème mais sans succès :
Code:
1 2
| requete := Format('INSERT INTO CLIENT (prenom_client, nom_client, adresse_client, cp_client, ville_client, pays_client) VALUES (%s, ''test'', ''test'', '+txt_cp_client.Text+', ''test'', ''test'')', [QuotedStr(txt_prenom_client.Text)]);
UIBQuery.SQL.Add(requete); |
Code:
1 2
| requete := 'INSERT INTO CLIENT (prenom_client, nom_client, adresse_client, cp_client, ville_client, pays_client) VALUES ('''+txt_prenom_client.Text+''', ''test'', ''test'', '+txt_cp_client.Text+', ''test'', ''test'')');
UIBQuery.SQL.Add(requete); |
J'aimerai que quelqu'un me donne une marche à suivre ou m'aide pour régler ce problème.
Merci beaucoup de m'avoir lu :)