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 :

Débutante Java cherche de l'aide


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 9
    Par défaut Débutante Java cherche de l'aide
    Bonjour ,

    Je suis débutante en Java et j’avoue que je galère un peu .

    Je dois faire une application qui me permet de récupérer des données d'une vue SQL, pour une plage horaire exemple :

    récupérer toutes les données dans cette vue entre 8h du matin et 8h du soir
    pour cela je découpe cette plage horaire en plusieurs intervalles de temps:
    entre 8h et 9h ,8h et 10h.........

    Pour cela je dois me connecter à la base de données SQLServer.
    récupérer les données pour chaque intervalle horaire.
    les envoyer sous forme Array list.

    Mes questions sont:

    Comment pourrai-je me connecter à la base en passant l'url de connexion et et le driver en paramètre, (ne pas mettre l'url en dur) ce qui me permettra de me connecter à n'importe quelle type de base de donnée si demain on décide de changer de base.

    Comment faire pour récupérer ces données pour intervalle de temps qui peut changer( ne pas mettre en dur dans la requête le temps de début et temps de fin)

    et comment faire pour récupérer le résultat d'un ResulSet dans un Array list


    Merci pour aide

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par sara2001 Voir le message
    Comment pourrai-je me connecter à la base en passant l'url de connexion et et le driver en paramètre, (ne pas mettre l'url en dur) ce qui me permettra de me connecter à n'importe quelle type de base de donnée si demain on décide de changer de base.
    Il y a plusieurs solutions à cela, par exemple :
    • Le passage par paramètre comme tu le suggères (que l'on récupère via le tableau en paramètre de la méthode main())
    • Un fichier de configuration au sein de ton application, que tu récupère via le classloader.
    • Un fichier de configuration à un emplacement spécifique (répertoire "home", répertoire de l'application, etc.)
    • Une saisie utilisateur dans une interface graphique.


    On peut même cumuler toutes ces possibilités...

    Citation Envoyé par sara2001 Voir le message
    Comment faire pour récupérer ces données pour intervalle de temps qui peut changer( ne pas mettre en dur dans la requête le temps de début et temps de fin)
    Même réponse que ci-dessous : le choix est vaste (paramètres, fichiers de configs, saisie utilisateurs, etc.)

    Citation Envoyé par sara2001 Voir le message
    et comment faire pour récupérer le résultat d'un ResulSet dans un Array list
    Il suffit de parcourir le resultset pour y ajouter les éléments un à un.
    Il est souhaitable d'utiliser un objet représentant ta vue, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ArrayList<MyObject> list = new ArrayList<MyObject>();
    ResultSet rs = ...
    try {
    	list.add(new MyObject(
    			rs.getString(1),
    			rs.getInteger(2),
    			rs.getTime(3)
    	));
    } finally {
    	rs.close();
    }
    list.trimToSize();

    a++

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 540
    Par défaut
    Citation Envoyé par sara2001 Voir le message

    Mes questions sont:

    Comment pourrai-je me connecter à la base en passant l'url de connexion et et le driver en paramètre, (ne pas mettre l'url en dur) ce qui me permettra de me connecter à n'importe quelle type de base de donnée si demain on décide de changer de base.
    Tu peux stocker l'url dans un fichier externe. Au quel cas tu modifieras le fichier ne cas de changement de BDD
    Citation Envoyé par sara2001 Voir le message
    Comment faire pour récupérer ces données pour intervalle de temps qui peut changer( ne pas mettre en dur dans la requête le temps de début et temps de fin)
    Avec un thread, tu peux requêter à intervalle de temps. Tu établis ton intervalle avec le temps d'attente entre deux requêtes.
    Citation Envoyé par sara2001 Voir le message
    et comment faire pour récupérer le résultat d'un ResulSet dans un Array list


    Merci pour aide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ResultSet res = ...//ici revient le résultat de ta requête
    ArrayList<String> array = new ArrayList<String>();
    while (res.next()) {
    array.add(res.getString(1));//on commence à 1
    }

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    ce qui me permettra de me connecter à n'importe quelle type de base de donnée si demain on décide de changer de base.
    En cas de changement, il faudra tout de même ré-installer le bon driver JDBC de la base de données.
    S'il s'agit d'une application installées sur des postes utilisateurs, il faudra donc faire une mise à jour de ces postes (java web start est pratique dans ce cas).

    Il me semble qu'il n'y a pas d'installation "universelle"
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

Discussions similaires

  1. Etudiant débutant cherche de l'aide
    Par mesbec dans le forum Android
    Réponses: 3
    Dernier message: 15/03/2013, 14h21
  2. Débutant 4D cherche aide
    Par dubidon dans le forum 4D
    Réponses: 3
    Dernier message: 06/09/2007, 15h10
  3. [Débutant(e)] cherche client FTP en java
    Par javac*.java dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 02/02/2006, 11h31

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