realbasic-nug.fr
[Top] [All Lists]

Re: Protection des requetes Sql ?

To: REALbasic NUG French <realbasic-nug dot fr at lists dot realsoftware dot com>
Subject: Re: Protection des requetes Sql ?
From: Michel LO <michel dot lo at albireo dot biz>
Date: Wed, 24 Jan 2007 12:18:15 +0100
Delivered-to: listarchive at realsoftware dot com
Delivered-to: realbasic-nug dot fr at lists dot realsoftware dot com
References: <C5C9FFEA-A899-491F-9A82-06DA03628CFD at mac dot com> <A2BE15EA-7FA2-4AFF-B550-17222239398B at realsoftware dot fr> <4480ED99-E56B-4C8D-B4DE-29AFEEF0813A at tiscali dot fr> <D27FB9E1-1529-4D72-8CB2-832EC3B77161 at realsoftware dot fr> <4E11BB7F-965D-4BBC-9104-48860D93DFB5 at tiscali dot fr>
De mémoire :

1. pour les ' il n'y a besoin de rien, vu qu'il ne peut pas y avoir de confusion avec le délimiteur "

2. si la phrase SQL est dans une variable (par exemple parce qu'on l'a stockée dans un fichier et qu'on la lit) il n'y a pas besoin de protéger le "

Par contre, si on écrit une affectation d'une chaine de caratères genre
query="select * from matable where champ1='dfg'"

Il ne faut pas de " dans la chaine de caractère, parce que le compilateur prend ça pour un délimiteur de chaine de caractère. La règle de ce délimiteur n'est pas une histoire de SQL, mais de descrition de chaine de caractères qui dit que pour mettre un " dans une chaine de caratère, on remplace par ""

Michel Lo
BELT
45, rue Aristide Briand
92300 LEVALLOIS-PERRET

L'intégrité de ce message n'étant pas assurée sur internet, BELT ne
peut être tenue responsable de son contenu. Toute utilisation ou diffusion non autorisée est interdite. Si vous n'êtes pas destinataire de ce message,
merci de le détruire et d'avertir l'expéditeur.

The integrity of this message cannot be guaranteed on the Internet.
BELT can not therefore be considered responsible for the contents.
Any unauthorized use or dissemination is prohibited. If you are not the
intended recipient of this message, then please delete it and notify the
sender.



Le 24 janv. 07 à 11:55, Jacquot Jules a écrit :


Le 24 janv. 07 à 10:29, Stéphane Pinel a écrit :


Le 24 janv. 07 à 10:09, Jacquot Jules a écrit :

je me suis demandé ce que Powel voulait dire par là

protéger une chaîne de caractères ? Qu'es à co ?

Si vous n'utilisez pas les classes DatabaseRecord et RecordSet, mais que vous exécutez la requête SQL via SQLExecute, vous avez en effet besoin de "protéger" la chaîne pour tous les caractères réservés (Escape/Unescape). Ce qui, par exemple
lors d'une insertion d'image, peu devenir assez lourd...

OK

 je n'utilise qu'une seule 'protection'

remplacer les apostrophes ' par un double-apostrophe ''

il y a d'autres caractères réservés ?

si je comprends bien, j'ai de la chance d'être imperméable aux images :-))

jules

A+

---
Stéphane Pinel
Support Technique en Français
stephane at realsoftware dot fr - http://www.realsoftware.fr




L'avantage d'être intelligent, c'est qu'on peut toujours faire l'imbécile, alors que l'inverse est totalement impossible

Woody Allen








<Prev in Thread] Current Thread [Next in Thread>