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 :

insérer une date dans BD oracle à partir de jsf


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 31
    Points : 16
    Points
    16
    Par défaut insérer une date dans BD oracle à partir de jsf
    Salut
    j'ai un soucie je veux insérer une date à partir d'une page jsf mais ça ne marche pas aucun message d'erreur qui s'affiche mais quand je consulte ma table dans BD oracle je ne trouve pas mes données que j'ai introduit à partir de la page jsf
    voici mon bean:
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
     /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
     
     
     
    import javax.faces.bean.ManagedBean;
    import javax.faces.bean.SessionScoped;
    import java.sql.*;
    	import java.sql.SQLException;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
     
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import java.sql.DriverManager;
     
    /**
     *
     * @author utilisateur
     */
    @ManagedBean(name="Insertdate")
    @SessionScoped
    public class Insertdate {
    String s=null;
     
        String resultat = " ";
       private int dateid;
       Connection  con ;
       java.util.Date daterecep;
       DateFormat dformat = new SimpleDateFormat("yyyy/MM/dd/");
     
       public void setdateid(int dateid){
    	    this.dateid=dateid;
    	  }
     
    	public void setdaterecep( java.util.Date daterecep){
    	    this.daterecep=daterecep;
    	  }
     
    	public int getdateid()
    	{
    	    return dateid;
    	}
     
     
    	public  java.util.Date getdaterecep()
    	{
    	    return  daterecep;
    	}
    	public String connexionBD() throws SQLException {
    	    try
    	    {
                 Class.forName("oracle.jdbc.driver.OracleDriver");
    		     System.out.println ("driver etablie");
    	    }
    	    catch(Exception e)
    	    {
    	    	System.out.println ("erreur:Driver int" +
    	    			"rouvable");
    	    }
     
     
    	    //connexion à la base
    	    try
     
    	    {
    	        String URL = "jdbc:oracle:thin:@localhost:1521:gmao";
    	    	String USER = "pfe";
    	    	String PASSWD = "gmao";
     
    	    	 con =DriverManager.getConnection(URL,USER, PASSWD);
    	    	System.out.println ("connexion  base pfe etablie");
    	    }
    	    catch(Exception e)
     
    	      {
    System.out.println ("erreur: base introuvable");
     
    	    }
    	    ///////
                try{
    daterecep = new java.util.Date();
    s = dformat.format(daterecep);
     
    }
    catch(Exception e){
    e.getMessage();
    }
     
     
    		Statement st = (Statement) con.createStatement();
     
     
     
     
    		int val=0;
    		            try {
    		                val = st.executeUpdate("insert into tabdate values("+dateid+",'"+s+"')");
    		            } catch (SQLException ex) {
    		                Logger.getLogger(Insertdate.class.getName()).log(Level.SEVERE, null, ex);
    		            }
     
    		System.out.println(val);
    		return resultat;
    		}
     
     
     
        /** Creates a new instance of Insertdate */
        public Insertdate() {
        }
     
    }
    dans ma page jsf pour introduire la date j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:inputText value="#{Insertdate.daterecep}" size="10" />
    mon probléme réside au niveau du 'date' car j'ai utilisé ce code pour insérer les 'int' et 'String' et ça marché (bien entendu, dans ma BD mes dates sont de type date et non pas string, et dans mon code java j'ai utilisé le java.util.Date)
    qu'est ce que je doit ajouter pour que je puisse insérer des dates
    pourriez vous m'aider s'il vous plait
    je vous remercie

  2. #2
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Bonjour,

    Pour passer des paramètres à ta requête, utilises plutôt PreparedStatement.
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 31
    Points : 16
    Points
    16
    Par défaut
    j'ai utilisé PreparedStatement mais ça n'as pas marché
    noté que j'ai essayé d'exécuter seulement le code java sans passer par la page jsf pour voir se que ça donne en mettant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    val = st.executeUpdate("insert into tabdate values(245,'12/12/2004')");
    et ajoutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public static void main (String args[]) throws SQLException{
     
    		Insertdate B= new Insertdate();
    			B.connexionBD();
    			B.insert();//fonction pour l'insertion
     
    }
    et ça marché mais je n'arrive pas depuis la page jsf même si j'introduis dateid sans introduire aussi la date c'est le même problème (daterecp n'a pas la contrainte not null) je ne comprends pas
    pourriez vous s'il vous plait m'indiquer ce que je doit mettre exactement j'ai du peut être oublié quelque chose
    je vous remercie

Discussions similaires

  1. Comment insérer une date dans FireBird/Interbase ?
    Par tipiweb dans le forum Bases de données
    Réponses: 3
    Dernier message: 29/05/2006, 16h54
  2. Réponses: 1
    Dernier message: 12/05/2006, 17h07
  3. impossible d'insérer une date dans la base
    Par bobic dans le forum ASP
    Réponses: 3
    Dernier message: 03/10/2005, 11h29
  4. insérer une date dans une BDD
    Par requiemforadream dans le forum ASP
    Réponses: 7
    Dernier message: 28/04/2005, 10h40
  5. insérer une date dans une table mssql
    Par ericmart dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 29/01/2004, 10h37

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