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 :

resultat d'une requete


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 259
    Par défaut resultat d'une requete
    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
     
    public boolean valide(String name ,String sexe ) 
    	{
    		boolean result = false;
    		PreparedStatement ps = null;
    		ResultSet rs = null;
    		String query = null;
    		Connection con = null;
    		query = " SELECT ID FROM Personne WHERE Pers_name=? AND Pers_ sexe=?";
    		try
    		{
    			con = UtilAccess.connect();
    			ps = con.prepareStatement(query);
    			ps.setString(1, name);
    			ps.setString(2, sexe);
    			ps.executeQuery();
    			rs = ps.getResultSet();
     
    			if (rs != null)
    			{
    				result =true;
    			}
    		}
    		catch (SQLException e)
    		{
    			result =true;
    		}
    		finally
    		{
    			UtilAccess.closeResultSet(rs);
    			UtilAccess.closeStatement(ps);
    			UtilAccess.closeConnection(con);
    		}
    		return result;
    		}
    J'ai cette fonction qui cherche s'il y a id en fonction de deux paramètres mon probblème est que la fonction ne retourne que true quelque soit les paramètres mis à l'entrée.
    Merci de votre aide

  2. #2
    Membre éclairé Avatar de Tanebisse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 449
    Par défaut
    Un ResultSet n'est jamais nul (du moins le résultat d'un ExecuteQuery. Test plutot sa taille avec fetchSize je crois.

    a ResultSet object that contains the data produced by the given query; never null

  3. #3
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Plutôt que de faire croire que tout se passe bien en cas d'erreur, le minimum syndicale est de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    catch (SQLException e)
    {
        e.printStackTrace();
    }

  4. #4
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Citation Envoyé par Tanebisse Voir le message
    Test plutot sa taille avec fetchSize je crois.
    en fait fetchSize donne le nombre d'élement du resulset qui sont envoyés par le réseau. (en gros quand tu fais next() et qu'on atteint ce nombre d'enregistrement, un nouveau paquet de résultat vient remplir le resultset).

    Pour info : Que sont les fetch size et fetch direction ?

    Pour ton souci tu as deux manière de faire :

    1) compter le nombre de résultat -> Comment connaître le nombre de lignes/colonnes d'un ResultSet ?

    2) essayer d'atteindre le premier résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (rs.next()){
    	result =true;
    }

  5. #5
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 259
    Par défaut
    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
    40
     
     
    public boolean valide(String name ,String sexe ) 
    	{
                    long nameToLong=0;
    		boolean result = false;
    		PreparedStatement ps = null;
    		ResultSet rs = null;
    		String query = null;
    		Connection con = null;
    		query = " SELECT ID FROM Personne WHERE Pers_name=? AND  Pers_ sexe=?";
    		try
    		{
                            nameToLong = (new Long(name )).longValue();
    			con = UtilAccess.connect();
    			ps = con.prepareStatement(query);
    			ps.setLong(1, name);
    			ps.setString(2, sexe);
    			ps.executeQuery();
    			rs = ps.getResultSet();
     
    			if (rs != null)
    			{
    				result =true;
    			}
    		}
    		catch (Exception e)
    		{	
    			e.printStackTrace();
     
    		}
     
    		finally
    		{
    			UtilAccess.closeResultSet(rs);
    			UtilAccess.closeStatement(ps);
    			UtilAccess.closeConnection(con);
    		}
    		return result;
    		}
    J'ai modifié ma requête en m'en percevant que le type name n'était un String mais un long
    mais maintenant j'ai cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    For input string: "US24"
    java.lang.NumberFormatException: For input string: "US24"
            at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
            at java.lang.Long.parseLong(Long.java:394)
            at java.lang.Long.<init>(Long.java:630)
    "US24" c'est la valeur du paramètre sexe

  6. #6
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    "US24" ne correspond pas au format long, c'est bien une String. Un long est un entier long de 8 octets dont la plage de valeurs va de -9223372036854775808 à 9223372036854775807.

  7. #7
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Citation Envoyé par friedamichelle Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    			if (rs != null)
    			{
    				result =true;
    			}
     
    		}
    ... mon probblème est que la fonction ne retourne que true quelque soit les paramètres mis à l'entrée.
    Tant que tu ne changes pas ça, tu auras toujours true. Pourquoi ne suis tu pas nos conseils ?

  8. #8
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 259
    Par défaut
    merci à tous tout marche bien et vos aides respectives

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. resultat d'une requete dans une ifrmae aussi??
    Par selifx dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 08/02/2005, 15h20
  2. substr sur le $resultat d'une requete
    Par grellierj dans le forum Langage SQL
    Réponses: 12
    Dernier message: 21/01/2005, 12h28
  3. Réponses: 2
    Dernier message: 29/11/2004, 13h13
  4. Syntaxe pour avoir un seul resultat dans une requete
    Par Pompil dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/09/2003, 16h51
  5. [VB6] [Excel] Résultat d'une requete ds une feuille
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 07/01/2003, 18h52

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