High-Tech
Santé-Médecine
Droit-Finances
CodeS-SourceS
Inscription
Plan
Connexion
Rechercher un code, un tuto, une réponse
Accueil
Forum
Tutoriels
Codes Sources
Snippets
Top membres
Tous les langages
Delphi / Pascal
Java
Python
SQL
RegEx
Flash
ASM
IRC
Graphisme
PDA
ColdFusion
Foxpro
Flex
Visual Basic / VB.NET
Forum
Tutoriels
Codes Sources
Snippets
Top membres
PHP
Forum
Tutoriels
Codes Sources
Snippets
Top membres
C/C++/C++.NET
Forum
Tutoriels
Codes Sources
Snippets
Top membres
Javascript
Forum
Tutoriels
Codes Sources
Snippets
Top membres
C#/.NET
Forum
Tutoriels
Codes Sources
Snippets
Top membres
ASP/ASP.NET
Forum
Tutoriels
Codes Sources
Snippets
Top membres
Accueil
Connexion
Déposer un code
Code
Recherche
Haut
Forum
Commentaires sur une source
Sujet Précédent
Sujet Suivant
SIMPLIFIER LES REQUETE SQL
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
- 2 juil. 2007 à 11:45
cs_Warny
Messages postés
473
Date d'inscription
mercredi 7 août 2002
Statut
Membre
Dernière intervention
10 juin 2015
-
2 juil. 2007 à 16:29
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
https://codes-sources.commentcamarche.net/source/43314-simplifier-les-requete-sql
cs_Warny
Messages postés
473
Date d'inscription
mercredi 7 août 2002
Statut
Membre
Dernière intervention
10 juin 2015
2 juil. 2007 à 16:29
admettons que j'ai une table utilisateurs (login varchar, password varchar, isadmin bit) et une table pleindedonnees
pour selectionner des données de données j'ai la requête :
select * from pleindedonnees
where (maclef = @maclef)
je remplace @maclef par "'" + valeur + "'" valeur
jusque là tout va bien, c'est ce que tu fait.
maintenant dans valeur je met
"'toto') GO insert into utilisateurs ('hacker', 'hacker', true) --"
la requête passée sera :
select * from pleindedonnees
where (maclef = 'toto') GO insert into utilisateurs ('hacker', 'hacker', true) --)
et je n'aurais plus à me connecter à l'application qu'en tant que 'hacker' avec le mot de passe 'hacker'.
Conclusion : suis les recommendation de seb et bidou.
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
37
2 juil. 2007 à 15:02
pour illustrer tout ça, voici un mini-tutoriel :
http://www.csharpfr.com/tutoriaux/UTILISATION-REQUETES-PARAMETREES-AVEC-ADO-NET_709.aspx
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
37
2 juil. 2007 à 14:15
remarque comme ca :
string stringDate = valeur.Year.ToString() + "-" & valeur.Month.ToString() & "-" + valeur.Day.ToString() + " " & valeur.Hour.ToString() + ":" & valeur.Minute.ToString() + ":" & valeur.Second.ToString();
this._Valeur.Replace(champ, "'" + stringDate + "'");
c'est pas bon en C#... l'opérateur de concaténation de chaine est le + pas le & !
cs_Bidou
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Membre
Dernière intervention
20 juin 2013
61
2 juil. 2007 à 13:09
C'est effectivement pas l'pied...
Ca donne au moins l'exemple de ce qu'il ne faut pas faire !
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
37
2 juil. 2007 à 11:45
mouaip... ça simplifie le travail du hacker...
NE JAMAIS FAIRE DE REQUETE COMME CECI !
Toujours utiliser les DbParameters.
Enfin, si vraiment tu veux simplifier l'utilisation des requêtes passe plutot par le mapping par attribut ! (
http://www.csharpfr.com/codes/MAPPING-ATTRIBUTS-EXEMPLE-UTILISATION_34726.aspx)
Votre réponse
Discussions similaires
simplifier une fraction ( débutant ) !!!
myogtha
-
18 nov. 2002 à 15:04
GoldenEye
-
19 nov. 2002 à 19:13
decimal (12,2) ca veut dire quoi?
cs_deubal
-
9 déc. 2005 à 16:23
Momo13
-
26 avril 2023 à 17:43
Requête LIKE Access
cs_ansizak
-
12 mars 2010 à 14:36
ThomasFalguieres
-
8 mai 2012 à 11:08
Requête SELECT très complexe
Mayzz
-
16 mars 2013 à 19:17
Mayzz
-
23 avril 2013 à 15:03
sous requête dans CASE
citt
-
19 août 2008 à 10:10
citt
-
21 août 2008 à 07:25
Rejoignez-nous
A voir également
Requete paramétrée sql
Requete sql between
Syntaxe requête sql pour recherche entre deux dates
Requete sql update
Between avec date format français et format anglais avec SQL Server
2 juil. 2007 à 16:29
pour selectionner des données de données j'ai la requête :
select * from pleindedonnees
where (maclef = @maclef)
je remplace @maclef par "'" + valeur + "'" valeur
jusque là tout va bien, c'est ce que tu fait.
maintenant dans valeur je met
"'toto') GO insert into utilisateurs ('hacker', 'hacker', true) --"
la requête passée sera :
select * from pleindedonnees
where (maclef = 'toto') GO insert into utilisateurs ('hacker', 'hacker', true) --)
et je n'aurais plus à me connecter à l'application qu'en tant que 'hacker' avec le mot de passe 'hacker'.
Conclusion : suis les recommendation de seb et bidou.
2 juil. 2007 à 15:02
2 juil. 2007 à 14:15
string stringDate = valeur.Year.ToString() + "-" & valeur.Month.ToString() & "-" + valeur.Day.ToString() + " " & valeur.Hour.ToString() + ":" & valeur.Minute.ToString() + ":" & valeur.Second.ToString();
this._Valeur.Replace(champ, "'" + stringDate + "'");
c'est pas bon en C#... l'opérateur de concaténation de chaine est le + pas le & !
2 juil. 2007 à 13:09
Ca donne au moins l'exemple de ce qu'il ne faut pas faire !
2 juil. 2007 à 11:45
NE JAMAIS FAIRE DE REQUETE COMME CECI !
Toujours utiliser les DbParameters.
Enfin, si vraiment tu veux simplifier l'utilisation des requêtes passe plutot par le mapping par attribut ! (http://www.csharpfr.com/codes/MAPPING-ATTRIBUTS-EXEMPLE-UTILISATION_34726.aspx)