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

avec Java Discussion :

afficher la nième donnée d'une colonne de table sql


Sujet :

avec Java

  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2013
    Messages : 286
    Points : 76
    Points
    76
    Par défaut afficher la nième donnée d'une colonne de table sql
    Bonjour,

    je veux vous demande si c'est possible de préciser la position du donnée d'une colonne d'une table sql et de l'afficher
    j'ai une table contient 2 colonnes: name et addresse
    donc dans la colonne addresse je veux récupérer le premier et le deuxième car je vais utiliser chacun dans une fonction
    j'ai fait le code suivant mais çà me donne toutes les données du colonne addresse:

    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
     
    int ktr=1;
                String Rout1="";
                String Rout2="";
    while(res.next()){
         if(ktr==2){
         Rout1=res.getString(1);
     
         //System.out.println(Rout1); 
     
         break;
         }
         else if(ktr==1){
     
         Rout2=res.getString(2);   
         //System.out.println(Rout2);
         }   
        ktr++;
         System.out.println(Rout2);
         System.out.println(Rout1);
    mais elle me donne juste la première donnée la deuxième non
    je sais pas comment résoudre ce problème
    Merci d'avance

  2. #2
    Membre averti Avatar de toutgrego
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2013
    Messages : 217
    Points : 350
    Points
    350
    Par défaut
    Salut,

    tu veux récupérer le premier et le deuxième quoi ? De ce que j'ai compris, soit tu fais d'autres colonnes dans ta base SQL pour les différents champs de ton adresse (rue,numéro,...) soit tu fais un split sur le string que tu obtiens.

    =)

    Tchao !
    F*ck it ! Do it !

  3. #3
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2013
    Messages : 286
    Points : 76
    Points
    76
    Par défaut
    bon la table contient 2 colonnes :names et addresses
    par exemple dans la colonne addresse j'ai 3 addresses:
    123.233.23.23
    223.233.22.23
    77.77.98.99

    alors mois je veux afficher la 1ère et la 2ème
    est ce c'est possible ??

  4. #4
    Membre averti Avatar de toutgrego
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2013
    Messages : 217
    Points : 350
    Points
    350
    Par défaut
    Ahh dac, deux solutions :

    -soit tu limite le nombre de résultats dans ta requêtes SQL : tu fais un 'ORDER BY' selon les adresses que tu veux puis ajoute la close 'LIMIT 2' pour n'obtenir que les deux premiers.

    -Tu le fais dans le code de manière un peu plus sale et plus lourde :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int count=0;
    while(res.next()&&count<2){
     
     System.out.println("Adresse "+(count+1)+" : "+res.getString(1)+" "+res.getString(2));
    count++;
       }
    Non testé, dis moi si ça marche =)

    Tchao
    F*ck it ! Do it !

  5. #5
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2013
    Messages : 286
    Points : 76
    Points
    76
    Par défaut
    Non ce code me donne les données du colonne 1(name) et les données du colonne 2 (addresse)
    mois je veux juste afficher les données du colonne addresse et c'est à moi de préciser la position la 2ème où la 10ème ...etc

  6. #6
    Membre averti Avatar de toutgrego
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2013
    Messages : 217
    Points : 350
    Points
    350
    Par défaut
    tu veux dire que l'utilisateur entre la ligne qu'il veut ? Par exemple, il entre 7 et il a la 7 ème ligne.
    F*ck it ! Do it !

  7. #7
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2013
    Messages : 286
    Points : 76
    Points
    76
    Par défaut
    oui parce que je veux utiliser les données dans des fonctions à part
    je veux pas afficher toutes les lignes

  8. #8
    Membre averti Avatar de toutgrego
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2013
    Messages : 217
    Points : 350
    Points
    350
    Par défaut
    Tu travailles en console ou interface graphique ?
    F*ck it ! Do it !

  9. #9
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2013
    Messages : 286
    Points : 76
    Points
    76
    Par défaut
    interface graphique swing

  10. #10
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    Select nomColonneARecuperer1, nomColonneARecuperer2 from nomTable limite a,b
    Soient a l'index de la première ligne à récupérer et b le nombre de ligne à récupérer.

  11. #11
    Membre averti Avatar de toutgrego
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2013
    Messages : 217
    Points : 350
    Points
    350
    Par défaut
    Et bien tu fais tes champs de saisie puis ta requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String sql="select adresse from ta_table LIMIT "+nombre+" OFFSET "+debut
    nombre et limite sont des entiers calculés à partir de tes entrées (saisie utilisateur).

    Si tu veux les enregistrements 6 à 15 tu écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String sql="SELECT * FROM table LIMIT 5, 10"
    J'espère que ça t'aidera =)
    F*ck it ! Do it !

  12. #12
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2013
    Messages : 286
    Points : 76
    Points
    76
    Par défaut
    c'est pas çà ce que je veux je vais vous donner un exemple
    une table avec le champ nom
    alors on a :
    tata
    toto
    titi

    moi je veux utiliser chacun dans une fonction
    name1("tata")
    affichername("toto")
    ...
    donc je dois récupérer les données en précisant ses positions
    mais je sais pas si c'est possible ou non

  13. #13
    Membre averti Avatar de toutgrego
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2013
    Messages : 217
    Points : 350
    Points
    350
    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
     
    int count=0;
    while(res.next()){
     
    switch(i){
    case 1: Objet.fonction(res.getString(1));
    ...
     
    }
     
    count++;
    }
    ça ?
    F*ck it ! Do it !

  14. #14
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2013
    Messages : 286
    Points : 76
    Points
    76
    Par défaut
    c'est quoi "Objet"??

  15. #15
    Membre averti Avatar de toutgrego
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2013
    Messages : 217
    Points : 350
    Points
    350
    Par défaut
    l'objet dont sont issues les méthodes 'name1' et 'affichername'
    F*ck it ! Do it !

  16. #16
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2013
    Messages : 286
    Points : 76
    Points
    76
    Par défaut
    non çà marche pas je pense que c'est pas possible de préciser le champs que je veux

    ce code m'affiche juste la première ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    int ktr=1;
    while(res.next()){
         if(ktr==2){
                     System.out.println(res.getString(1));                  
         }
     
        ktr++;
    }

  17. #17
    Membre averti Avatar de toutgrego
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2013
    Messages : 217
    Points : 350
    Points
    350
    Par défaut
    Moi je dirais qu'il affiche seulement la deuxième ligne, il faut que tu fasse un cas pour le ktr=1 si tu veux la première ligne. Mais je pense pas que tu iras loin avec ça.

    Après tu peux mettre une variable dans ton getString(), mais je crois que ce n'est pas ce que tu veux
    F*ck it ! Do it !

  18. #18
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2013
    Messages : 286
    Points : 76
    Points
    76
    Par défaut
    le code que je viens de vous montrer affiche la première ligne

  19. #19
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2013
    Messages : 286
    Points : 76
    Points
    76
    Par défaut
    bon j'ai essayé avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    int ktr=1;
    while(res.next()){
         if(ktr==1){
                     System.out.println(res.getString(1));  //print 1st column of 2nd row
     
         }
         else if(ktr==2){
             System.out.println(res.getString(2));
         }
     
        ktr++;
    mais voilà ce qu'il me donne d'erreurs:
    SEVERE: null
    java.sql.SQLException: Column Index out of range, 2 > 1.
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
    at com.mysql.jdbc.ResultSetImpl.checkColumnBounds(ResultSetImpl.java:830)
    at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5773)
    at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5692)
    at swing.Test.main(Test.java:70)

  20. #20
    Membre averti Avatar de toutgrego
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2013
    Messages : 217
    Points : 350
    Points
    350
    Par défaut
    Citation Envoyé par cisco.nat Voir le message
    le code que je viens de vous montrer affiche la première ligne
    Absolument impossible :


    Citation Envoyé par cisco.nat Voir le message
    int ktr=1;
    while(res.next()){
    if(ktr==2){
    System.out.println(res.getString(1));
    }

    ktr++;
    }
    tu vois bien que ktr vaut 1 au premier passage de la boucle.

    Mais on s'écarte du problème que je n'arrive décidément pas à saisir.
    F*ck it ! Do it !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. l'existence d'une colonne en table sql et vb6
    Par SISGI dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 20/01/2014, 15h33
  2. recuperer les données d'une colonne de table dans un Combobox
    Par Abou Zar dans le forum Composants VCL
    Réponses: 7
    Dernier message: 21/02/2011, 17h32
  3. Réponses: 3
    Dernier message: 26/07/2006, 14h58
  4. Effacer toutes les données d'une colonne
    Par denisfavre dans le forum Access
    Réponses: 5
    Dernier message: 12/10/2005, 15h20
  5. Comment afficher une colonne text de SQL-server?
    Par oravelon dans le forum ASP
    Réponses: 2
    Dernier message: 18/08/2005, 09h11

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