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 :

[ResultSet][tableau] pb de recup de donnees


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Points : 46
    Points
    46
    Par défaut [ResultSet][tableau] pb de recup de donnees
    Bjr,

    Je ve recup les donnees extraites ma bdd dans un tableau a deux dimensions de maniere a creer une JTable apr pour l'affichage de mes donnees. Ma requete fonctionne et l'affichage des donnees est correct.*

    Deux choses:
    Je vais reussir a inserer les donnees dans un tableau a deux dimensions, j'ai essaye:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    while (rs.next())
    			{
    				System.out.println(rs.getString(1));
    				heures[i][1] = rs.getString(1);
    				System.out.println(rs.getString(2));
    				heures[i][2] = rs.getString(2);
    				i++;
    			}
    			return heures;
    et ca plante dès:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    heures[i][1] = rs.getString(1);
    car mon 2e affichage ne focntionne pas.

    2ème chose:
    ma date s'ecrit de la maniere suivante:
    2005-12-16 00:00:00
    et j'aimerais qu'elle s'affiche de la maniere suivante:
    16/12/2005
    Comment dois je faire?

    Merci d'avance pour vos reponses.

  2. #2
    Membre éclairé Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Points : 757
    Points
    757
    Par défaut
    Aux vues de ton code, si ton println() s'affiche correctement, j'en déduis que cela viens de ton tableau 'heures' ou bien de ton second parametre rs.getString(2) qui retourne une erreur

    Alors ce que je dirai :
    1- As tu initialiser ton i à 0 ?
    2- As tu déclarer ton tableau comme il faut ? (new String [x][2])
    (Avec x nb de lignes que retourne ta requete)


    Pour ton second problème, j'ai eu le même souci pour un projet cette année et je dois t'avouer que, mis à part la création d'une méthode modifiant cela, j'ai pas trouvé grand chose d'autre, bien que les objets Date peuvent aider (util.Date et sql.Date, regarde si tu es interessé) ... pour ma part, j'y ai penser après et j'avais la flemme de changer ma méthode lol

    Voila jespere que ca peut t'aider
    Affiche ton code complet (initialisation en plus) pour que je puisse te donner un coup de main ... pour le nb de ligne renvoyés par le resultset, je jette un coup d'oeil et te post la reponse
    See you, space cowboy... and if you're satisfied, click on

  3. #3
    Membre actif Avatar de snoop
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 354
    Points : 294
    Points
    294
    Par défaut
    pas besoin de i++ pour ce code : [/code]
    [code]
    while (rs.next()) {
    // traitement
    }
    Snoop

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Points : 46
    Points
    46
    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
     
    int i = 0;
    			String[][] heures = new String[15][2];
    			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    			Connection conn = DriverManager.getConnection("jdbc:odbc:express");
    			Statement stmt = conn.createStatement();
    			ResultSet rs = stmt.executeQuery("select d,nbheures from HeuresTravaillees where Id="+id+";");
    			while (rs.next())
    			{
    				System.out.println(rs.getString(1));
    				System.out.println(rs.getString(2));
    				heures[i][1] = rs.getString(1);
    				heures[i][2] = rs.getString(2);
    				i++;
    			}
    			return heures;
    voila mon code un peu plus detaille... sachant que ma requete dans ce cas me renvoie 10 reponses, mais comment faire pour connaitre le nombre de resultats de la requete mis a part en parcourant deja le tableau de resultats...
    J'obtiens toujours une erreur au meme endroit, lors du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    heures[i][1] = rs.getString(1);

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 220
    Points : 266
    Points
    266
    Par défaut
    POur ton probleme de date, effectivement il te faut utiliser un objet de type sql.Date, pour lequel tu vas pouvoir notamment appeler une methode toString, qui va te donner une date au format aaa-mm-dd, et il te suffit de reformater ton String...

  6. #6
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Points : 46
    Points
    46
    Par défaut
    Pour ma date, je vais successivement recuperer le jour, le mois et l'annee et concatainer ma chaine de caractere... aucun pb pour cela, ct juste au cas ou il y avait une fonction predefinie dans la richesse de java, comme on dit rien ne sert de reinventer la roue...
    Merci pour ces infos...

  7. #7
    Membre habitué Avatar de remyli
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 270
    Points : 151
    Points
    151
    Par défaut
    Pour ton erreur je supose que c'est un pointeur null ????
    Pour ma par j'ai jamais réusit a m'en débarasser...

    je te conseille :

    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
    import java.util.Vector
     
    Voctor vectHeures= new Vector();
    while (rs.next()) 
             { 
                Vector intern = new Vector(2);
                System.out.println(rs.getString(1));     //1 ou 0 ??
                System.out.println(rs.getString(2));     // 2 ou 1 ??
                                                    // de toute façon préférer le nom de l' att
                intern .add(rs.getString(1)); 
                intern .add(rs.getString(2)); 
                vectHeures.add(intern);
             } 
             return vectHeures; 
     
    ....
    JTable o = new JTable(vectHeure, VectorTitre);
    Orthographe => Message Privé constructif svp

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Points : 46
    Points
    46
    Par défaut
    Utilisant eclipse, maintenant, il m'affiche l'erreur
    le constructeur JTable(Vector,String[]) n'existe pas
    Comment puis je remedier a cette erreur, j'ai deja vu que l'on pouvait etendre AbstractModelTable mais je ne sais pas comment faire exactement, merci pour votre aide

  9. #9
    Membre habitué Avatar de Kurdran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 122
    Points : 140
    Points
    140
    Par défaut
    Tu peux transformer ton String[] en Vector :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new JTable(vectHeures, new Vector(tableauNom))

  10. #10
    Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 50
    Points : 48
    Points
    48
    Par défaut
    le constructeur JTable (Vector , String []) n 'existe pas , utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    new JTable(vector_des_données, vector_des string_titre_colonne)

  11. #11
    Membre du Club
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Points : 46
    Points
    46
    Par défaut
    Ok encore merci et desole pour ce genre de question ou les reponses sont si evidentes...

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

Discussions similaires

  1. "tableau" avec ascenceur pour les donnees
    Par BiAiB dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 18/05/2007, 11h30
  2. manipulation d'un tableau d'une structure de donnee
    Par questionvb dans le forum VB.NET
    Réponses: 2
    Dernier message: 19/03/2007, 14h02
  3. Réponses: 1
    Dernier message: 30/01/2005, 11h00
  4. Réponses: 4
    Dernier message: 08/01/2005, 22h32
  5. [JSP][SERVLET] recup donnees form
    Par 74greg dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 04/09/2003, 10h22

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