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

Servlets/JSP Java Discussion :

passer une date de naissance comme parametre via servlet ?


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 107
    Points : 43
    Points
    43
    Par défaut passer une date de naissance comme parametre via servlet ?
    Bonjour,

    Tout d'abord je voudrai remercier tous les membres qui ont repondu a mes questions et m'ont bcp aide ;)

    Je suis en train de developper une application d'enregistrement pour utilisateurs en utilisant java servlet
    l'utilisateur doit rentrer certain nobre de parametres ( username, password, date de naissance etc..)
    je configure les parametres du servlet comme ceci

    Code none : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    name                         type                                    variable
    username                    String                                  userName
    etc
    jour                            String                                   Jour
    mois                           String                                   Mois
    annee                         String                                  Annee
    ensuite voila ce que je fais:
    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
    String userName = request.getParameter("username");
    String Jour = request.getParameter("jour");
    String Mois = request.getParameter("mois");
    String Annee = request.getParameter("annee");
     
     
            Connection con = null;
             Statement stmt = null;
                             ResultSet rs = null;
                             String errormsg;
     
                             try
                             {
                                Class.forName("oracle.jdbc.driver.OracleDriver");
                                con = DriverManager.getConnection( 
                  "jdbc:oracle:thin:@addresse IP:1521:database name",
                                             user,pwd);
                                PreparedStatement pStmt = con.prepareStatement("insert into jc_users(username, password, birth) values(?, ?, ?)");
     
     pStmt.setString(1, userName);
    pStmt.setString(1, Password);
    Mon Pb est Comment faire pour la date de naissance ?
    Sachant que dans ma base de donnee je la declare de type DATE ?


    Merci d'avance

  2. #2
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut
    Salut

    je ferais un truc dans ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yy",Locale.ENGLISH);
     Date d = sdf.parse(ma_string);
    avec ma_string etant une string sous la forme "01.01.07"

    et dans ta base de donnée tu inseres le type date.

  3. #3
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 107
    Points : 43
    Points
    43
    Par défaut
    Salut Bizet,

    j'ai essaye ta proposition et ca me donne ce format: Sat Apr 07 00:00:00 GST 1979 en renrant la date 07/04/1979 !!

    apres pour l'integration dans la base donne je trouve pas une methode setDate comme setString celle que j'utilise pour les autres param

    PreparedStatement pStmt = con.prepareStatement("insert into table_users(username, password,fname, lname, email, gender, birth, mobile, city, country) values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
    pStmt.setString(1, UsrNme);
    pStmt.setString(2, Pwd);
    pStmt.setString(3, Fname);
    pStmt.setString(4, Lname);
    pStmt.setString(5, Email);
    pStmt.setString(6, Gender);
    pStmt.set???(7, ??); je met koi pour la date ??

  4. #4
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 107
    Points : 43
    Points
    43
    Par défaut
    Bonjour,

    j'utilise cette fonction
    public static Date stringToDate(String sDate, String sFormat) throws Exception {
    SimpleDateFormat sdf = new SimpleDateFormat(sFormat);
    return sdf.parse(sDate);
    }

    mais je trouve cette erreur: type 'java.sql.date' expected but 'java.util.date' found
    qcq a une idee ?

  5. #5
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut
    Citation Envoyé par haifa28
    Salut Bizet,

    j'ai essaye ta proposition et ca me donne ce format: Sat Apr 07 00:00:00 GST 1979 en renrant la date 07/04/1979 !!

    apres pour l'integration dans la base donne je trouve pas une methode setDate comme setString celle que j'utilise pour les autres param

    PreparedStatement pStmt = con.prepareStatement("insert into table_users(username, password,fname, lname, email, gender, birth, mobile, city, country) values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
    pStmt.setString(1, UsrNme);
    pStmt.setString(2, Pwd);
    pStmt.setString(3, Fname);
    pStmt.setString(4, Lname);
    pStmt.setString(5, Email);
    pStmt.setString(6, Gender);
    pStmt.set???(7, ??); je met koi pour la date ??
    tu peux faire la requete de cette facon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String query = "insert into table_users(username, password,fname, lname, email, gender, birth, mobile, city, country) values(\""+UsrNme+"\", \""+Pwd"\", etc...,"+d+")";
    PreparedStatement pStmt = con.prepareStatement(query);
    tu mets directement les variables dans ta requete. Comme en username tu dois avoir une string, il faut que tu rajoutes le pour encadrer la valeur que tu vas rentrer par des doubles quotes.
    Comme ca tu rentres tres facilement ta date en mettant ta variable directement.

    Effectivement le probleme avec le "SimpleDateFormat", c'est quil te remplit automatiquement les heures, minutes et secondes a 0.
    J'avais cherché pour n'avoir que les jours mois et années et tu dois passer par la classe DateFormat, mais de souvenir, il faut que tu implementes les classes abstraites, ce que à l'époque avait la flemme de faire

  6. #6
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut
    Citation Envoyé par haifa28
    Bonjour,

    j'utilise cette fonction
    public static Date stringToDate(String sDate, String sFormat) throws Exception {
    SimpleDateFormat sdf = new SimpleDateFormat(sFormat);
    return sdf.parse(sDate);
    }

    mais je trouve cette erreur: type 'java.sql.date' expected but 'java.util.date' found
    qcq a une idee ?
    salut

    Tu utilises surement le type Date du package java.sql, alors que ton parse renvoie le type Date de java.util

    Dans les import, supprime le "import java.sql.Date;" et remplace le par "import java.util.Date;"

Discussions similaires

  1. Réponses: 9
    Dernier message: 11/01/2010, 10h30
  2. Requete a partir d'une date de naissance pour obtenir un age
    Par Fleur-Anne.Blain dans le forum Langage SQL
    Réponses: 11
    Dernier message: 10/08/2006, 12h40
  3. Pl/SQL J'ai un âge, je voudrais une date de naissance
    Par Fleur-Anne.Blain dans le forum PL/SQL
    Réponses: 10
    Dernier message: 10/08/2006, 09h17
  4. Réponses: 5
    Dernier message: 08/03/2006, 15h22
  5. [C#]Passer une date en paramètre dans Crystal Report
    Par choupinette dans le forum ASP.NET
    Réponses: 5
    Dernier message: 09/08/2005, 09h59

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