IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

requete SQL avec parametre de la méthode


Sujet :

JDBC Java

  1. #1
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Points : 73
    Points
    73
    Par défaut requete SQL avec parametre de la méthode
    Bonjour,
    je souhaiterais tout simplement que ma requete SQL prenne en compte le clientID en parametre de la methode "getItmfromBD".

    vous avez une idée?
    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    public Integer getItmfromBD(Integer clientID){
     
     
    	try{
     
     
    	String url = "jdbc:mysql://localhost/BD";
    	  String user = "root";
    	  String password = null;
    	  Connection connection = DriverManager.getConnection(url, user, password);
     
     
    	  Statement st = connection.createStatement();
     
    	  ResultSet rs = st.executeQuery(
     
    	  "SELECT clientID, itemID, price FROM ClienTab WHERE ClienTab.clientID = 'clientID' ORDER BY ClienTab.price DESC LIMIT 10  "		  
     
    			    );
     
    	  while (rs.next()) {
    		  int s = rs.getInt("clientID");
    		  int n = rs.getInt("itemID");
     
    		  System.out.println(s + "   " + n);
    		  } 
     
    	  connection.close();
     
    	}
     
    	catch(SQLException ex) {
    	     ...........
    	     }
    	 }
     
     
    	}

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    un petit tour dans les FAQs jdbc de ce site et particulièrement de requêtes paramétrée devrais te donner la solution.

  3. #3
    Membre expérimenté Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Points : 1 540
    Points
    1 540
    Par défaut
    Pour rejoindre tchize regarde les preparedStatement
    Autre solution mais à ne pas faire (mais je la donne quand même ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ResultSet rs = st.executeQuery( "SELECT clientID, itemID, price FROM ClienTab WHERE ClienTab.clientID = '"+clientID="' ORDER BY ClienTab.price DESC LIMIT 10  "
    Il était une fois [...] Et ils vécurent heureux et eurent beaucoup d'enfants!

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    aussi suicidaire que de désamorcer une grenade les yeux fermés sans jamais en avoir vu une de sa vie.

  5. #5
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Points : 73
    Points
    73
    Par défaut
    Merci, je viens de faire ça et ça marche
    pourquoi ça serait risqué??


    Citation Envoyé par Ivelios Voir le message
    Pour rejoindre tchize regarde les preparedStatement
    Autre solution mais à ne pas faire (mais je la donne quand même ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ResultSet rs = st.executeQuery( "SELECT clientID, itemID, price FROM ClienTab WHERE ClienTab.clientID = '"+clientID="' ORDER BY ClienTab.price DESC LIMIT 10  "

  6. #6
    Membre expérimenté Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Points : 1 540
    Points
    1 540
    Par défaut
    reponse ici
    Permet d'éviter entre autre le tristement célèbre 'OR 1 = 1' qui est interprété : "toujours vrai"
    Par exemple pour les mot de passe sur un site, 'OR 1 = 1' sert de passe partout si ce n'est pas sécurisé...
    Il était une fois [...] Et ils vécurent heureux et eurent beaucoup d'enfants!

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Citation Envoyé par flora806 Voir le message
    Merci, je viens de faire ça et ça marche
    pourquoi ça serait risqué??
    SQL injection

Discussions similaires

  1. Tabledatasource et requete sql avec parametres
    Par aidonsnous dans le forum VB.NET
    Réponses: 3
    Dernier message: 15/12/2013, 09h29
  2. [MySQL] Requete SQL avec tableau en parametre
    Par ne2sbeal dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/02/2010, 11h17
  3. requete sql avec nombre inconnu de parametres
    Par shmmini dans le forum Général Dotnet
    Réponses: 10
    Dernier message: 10/05/2009, 17h40
  4. requete SQL avec des Parametres
    Par devlopassion dans le forum C++Builder
    Réponses: 7
    Dernier message: 18/11/2006, 11h52
  5. [VBA]Requete SQL avec parametre numérique
    Par Pitou5464 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 06/09/2006, 10h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo