Requete sql avec date

koneangel Messages postés 15 Date d'inscription mardi 12 août 2008 Statut Membre Dernière intervention 12 février 2011 - 12 févr. 2011 à 00:05
rupteur32 Messages postés 1 Date d'inscription mardi 30 mars 2010 Statut Membre Dernière intervention 14 février 2011 - 14 févr. 2011 à 08:31
Bonjour à tous,

j'ai un souci avec une requete insert contenant une date. En fait lorsque j'exécute mon programme, j'ai cette erreur:
"Impossible d'insérer une valeur explicite dans une colonne horodateur. Utilisez INSERT avec une liste de colonnes pour exclure la colonne horodateur, ou insérez le mot clé default dans la colonne horodateur"

je ne sais donc pas si c'est la date qui n'est pas formaté comme il se devrait!!!!!!!!!

voici mes classes:

classe principale
class TestAfficherSujets {

public static void main(String[] args){

UtilisateurForum user = new UtilisateurForum("admin", "admin", Utilisateur.MODERATEUR);
MessageForum msg1 = new MessageForum(user, "Bienvenue","Bonjour \u00e0 tous, ce forum mod\u00e9r\u00e9 permet aux "+ "inscrits de poser des questions ou de r\u00e9pondre.");
MessageForum msg2 = new MessageForum(user, "Livre java","Quel livre me conseillerez-vous ? ");


// ajout d'un utilisateur et des messages
try{
ConnexionAuForum connec = new ConnexionAuForum();
user.ajouterUtilisateur(connec);
msg1.ajouterMessage(connec);
msg2.ajouterMessage(connec);
TousLesMessages msg = new TousLesMessages();
msg.rechercherEnsembleSujets(connec);
String listeSujets = "Liste des sujets du forum :";

for (Iterator it = msg.iterator(); it.hasNext();){
Message message = (Message)it.next();
listeSujets += "\n \u25aa " + message.getSujet();
}
JOptionPane.showMessageDialog(null, listeSujets);
}
catch (SQLException ex){
JOptionPane.showMessageDialog(null, "Erreur JDBC "+ ex.getMessage());
}
}

}


autres classes:

public class MessageForum extends Message{

private int id;

// constructeurs
public MessageForum (Utilisateur auteur, String sujet, String texte){
super(auteur, sujet, texte);
}
public MessageForum (){
super(null, null, null);
}

public void setId(int id){
this.id = id;
}
public int getId(){
return this.id;
}
public void ajouterMessage(ConnexionAuForum connect) throws SQLException{

PreparedStatement maxIdMessage = connect.getCon().prepareStatement("SELECT MAX(ID) FROM MESSAGE");
ResultSet resultat = maxIdMessage.executeQuery();
resultat.next();
this.id = resultat.getInt(1)+1;
resultat.close();
maxIdMessage.close();

PreparedStatement ajoutMessage = connect.getCon().prepareStatement("INSERT INTO MESSAGE" + "(ID, AUTEUR, DATECREATION, SUJET, TEXTE)" + "VALUES(?,?,?,?,?)");
ajoutMessage.setInt(1,this.id);
ajoutMessage.setString(2, getAuteur());
//ajoutMessage.setDate(3, new Date());
ajoutMessage.setTimestamp(3, new Timestamp (getDateDeCreation().getTime()));
//ajoutMessage.setTimestamp(3, new Timestamp (getDateDeCreation().getTime()));
ajoutMessage.setString(4, getSujet());
ajoutMessage.setString(5, getTexte());
ajoutMessage.executeUpdate();
ajoutMessage.close();

}

}

///////////////////////////////////////

public class Message {

// propriétés de la classe Message
private String auteur;
private Date dateCreation = new Date();
private String sujet;
private String texte;

// constructeurs
public Message(){};
public Message(Utilisateur auteur, String sujet, String texte){
if (auteur != null){
this.auteur = auteur.getPseudo();
this.sujet = sujet;
this.texte = texte;
}
}

// accesseurs
public String getAuteur(){ return this.auteur; }
public String getSujet(){ return this.sujet; }
public String getTexte(){ return this.texte; }
public Date getDateDeCreation(){ return this.dateCreation; }

// modificateurs
public void setAuteur(String user){ this.auteur = user; }
public void setAuteur(Utilisateur user){ this.auteur = user.getPseudo(); }
public void setSujet(String sujet){
if (sujet == null)
this.sujet = null;
else
// suppression d'espace vide au début et à la fin du sujet
this.sujet = sujet.trim();
}
public void setTexte(String texte){
if (texte== null)
this.texte = null;
else
// suppression d'espace vide au début et à la fin du texte du sujet
this.texte = texte.trim();
}
public void setDateCreation(Date dateCreation){ this.dateCreation = dateCreation; }

// vérifie si l'utilisateur courant est l'auteur du message
public boolean estEcritPar(Utilisateur user){
return this.auteur.equals(user.getPseudo());
}

// champs de classe utilisés pour la mise en forme des date
private static DateFormat formatDate = DateFormat.getDateInstance(DateFormat.MEDIUM);
private static DateFormat formatHeure = DateFormat.getTimeInstance(DateFormat.SHORT);

// redéfinition de la méthode toString qui retourne une drescription du message
public String toString(){
return "De" + this.auteur + " le " + formatDate.format(this.dateCreation) + "\u00e0" + formatHeure.format(this.dateCreation)+ "\nSujet : " + this.sujet + "\n" + this.texte ;
}
}


//////////////////////////////////////////

public class Utilisateur {

// variables contenant les droits utilisateurs du forum
public static final String MODERATEUR = "M";
public static final String USER = "U";

// les propriétésd'un utilisateur
private String pseudo;
private String motDePasse;
private String autorisation;

// les constructeurs
public Utilisateur(){};
public Utilisateur(String pseudo, String motDePasse, String autorisation){
this.pseudo = pseudo;
this.motDePasse = motDePasse;
this.autorisation = autorisation;
}

// les accesseurs
public String getPseudo(){ return this.pseudo; }
public String getMotDePasse(){ return this.motDePasse; }
public String getAutorisation(){ return this.autorisation; }

// les modificateurs
public void setPseudo(String pseudo){ this.pseudo = pseudo; }
public void setmotDePasse(String motDePasse){ this.motDePasse = pseudo; }
public void setAutirisation(String autorisation){ this.autorisation = autorisation; }

}



Au secours!!!!!!!!!!!!!!!!

Merci d'avance!!!!!!!!!!!!!!!!!!!!

1 réponse

rupteur32 Messages postés 1 Date d'inscription mardi 30 mars 2010 Statut Membre Dernière intervention 14 février 2011
14 févr. 2011 à 08:31
Bonjour,

Ce type de colonne n'est-elle pas renseignée automatiquement par le système ?
0
Rejoignez-nous