rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Requêtes SQL et '

Steph, le jeudi 31 mars 2005 à 20:49:44
Bonjour tout le monde

J'ai fais une requête SQL sous vb6 pour une table access2000 qui ressemble à ça :

SQL = "Select * from MaTable where MonChamp = ' " & MaVariable & " ' "

La syntaxe est bonne et la requête fonctionne très bien si l'utilisateur n'entre pas de caratère spéciaux (' , " , _ , ...). Dans ma textbox, l'utilisateur peut entrer tous les caractères qu'il veut, et lorsqu'il entre le caractère '(entre autre) la requête ne s'exécute pas ...

J'ai chercher un peu partout sans beaucoup de résultat.

Est-ce que quelqu'un pourrait m'aider. J'aimerai savoir comment insérer ma variable dans la requête SQL correctement pour que l'utilisateur puisse entrer tout ce qu'il veut.

Merci d'avance.
Répondre à Steph  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sebsauvage, le jeudi 31 mars 2005 à 22:23:53
ALERTE ALERTE - gros risque de sécurité détecté.

Ton application peut être attaquée par SQL-Injection.
(Courant quand on débute).

Il est impératif de doubler toute apostrophe trouvée dans une chaîne avant de l'insérer dans une requête SQL.


Regarde: Tu as fait un champ de saisie que tu met dans MaVariable et l'insère dans la requête SQL. Ok.
Maintenant imagine ce qui se passe si je tape ça dans ton champ:
'; delete MaTable; select '



Ton programme va insérer ce que j'ai tapé dans ta requête SQL, qui devient:

Select * from MaTable where MonChamp = ' '; delete MaTable; select ' '


J'ai réussi à effacer le contenu de ta table !



En doublant les apostrophes, le problème est en principe réglé.
Exemple:
l'accent 
devient --->
l''accent


et là ça passe.
Répondre à sebsauvage

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mohammed, le jeudi 31 mars 2005 à 23:22:52
Salut SEBSAUVAGE,
je voudrais faire une req paramétrée en usant 2 variable d'un formulaire.
En faite j'ai unez table de personnel et je voudrais afficher les pers inscrits entre 2 dates entrées à partire du clavier donc je voudrais que l'utilisateur entre ces données et le clique sur un boutton déclanche l'execution de la req.
(une autre méthode que lafction entre...et(between)).
je travailsous access2000
Merci
Répondre à mohammed

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sebsauvage, le jeudi 31 mars 2005 à 23:32:15
Il faut récupérer la valeur saisie dans les champs et lancer la requête SQL correspondante.

Access c'est pas mon truc.
Répondre à sebsauvage

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Steph, le vendredi 1 avril 2005 à 08:29:27
Ok, merci, je vais essayer d'implémenter ça ... je verrai si ça fonctionne

Merci beaucoup
Répondre à Steph
[Access] : Requete SQL en VBa (Résolu)Salut à tous je cherche de l'aide pour creer une requete SQL dans le VB fournit avec Access en faite je veux ecrire une requete qui tiendra compte de ce que j'aurais choisit dans ma zone de liste exemple: SELECT PC.nom_PC FROM PC WHERE... www.commentcamarche.net/forum/affich-2747677-access-requete-sql-en-vba
[SQL] Requète SQL impliquant 2 bases de donne (Résolu)Bonjour à tous et toutes, J'aurais aimé savoir s'il était possible de faire des requètes SQL sur 2 bases de donnees distinctes du genre : mysql_connect('localhost','root',''); mysql_select_db('DB1');... www.commentcamarche.net/forum/affich-4927487-sql-requete-sql-impliquant-2-bases-de-donne
Exécuter requête SQL en VBA (sous ACCESS) (Résolu)Bonjour, J'ai une requête SQL que j'ai créé dans ACCESS. J'aimerais pouvoir avec du code VBA appeller cette requête. Comment faire ? Merci www.commentcamarche.net/forum/affich-4949211-executer-requete-sql-en-vba-sous-access
PHP recuperer variables d'une requete SQL (Résolu)Bonjour, Je suis débutant en PHP. J'aimerais faire une requête SQL pour récupérer des informations et les stocker dans des variables mais ça ne marche pas. Je fais la requête suivante : $request = "SELECT prod_id, var_prod FROM tb_prod"; $result... www.commentcamarche.net/forum/affich-5513738-php-recuperer-variables-d-une-requete-sql
Afficher resultat requete sql dans datagrid (Résolu)Bonjour, Je debute sous VB 6 et j'aimerai afficher le résultat d'une requete sql dans un datagrid. J'ai mis ma requete dans une variable string nommée requete. Sur un site j'ai obtenu le code suivant : Sub remplir_grid() Dim sql As... www.commentcamarche.net/forum/affich-6928886-afficher-resultat-requete-sql-dans-datagrid
Script PHP et condition avec requete SQL (Résolu)Bonjour, voila j'ai crée une requête sql dans mon fichier PHP : $req_acti="select ta.toto from matable ta, tata a where ta.toto=a.uid and matable in ('10','156')"; $atl->execut($req_acti); if($atl->numrows()) mais c'est... www.commentcamarche.net/forum/affich-8373167-script-php-et-condition-avec-requete-sql
Attaques - Injection de commandes SQL Les attaques par injection de commandes SQL sont des attaques visant les sites web s'appuyant sur des bases de données relationnelles. Dans ce type de sites, des paramètres sont passés à la base de données sous forme d'une requête SQL. Ainsi, si le... www.commentcamarche.net/attaques/injection-commandes-sql.php3
JDBC - Exécution de requêtes Pour exécuter une requête SQL, il s'agit dans un premier temps de créer un objet Statement, pouvant être obtenu à partir de l'objet Connection. Un objet ResultSet permettra de récupérer les données en provenance de l'objet Statement. String query =... www.commentcamarche.net/jdbc/jdbcexec.php3
JDBC - Accès aux données Une fois la connexion à la base de données établie, il est possible de demander des informations sur le nom des tables et le contenu de chaque colonne, ainsi que d'exécuter des requêtes SQL afin de récupérer des informations, d'en ajouter ou bien de... www.commentcamarche.net/jdbc/jdbcacces.php3
Toutes les réponses pour « Requêtes SQL et ' »