koneangel
Messages postés15Date d'inscriptionmardi 12 août 2008StatutMembreDernière intervention12 février 2011
-
12 févr. 2011 à 00:05
rupteur32
Messages postés1Date d'inscriptionmardi 30 mars 2010StatutMembreDernière intervention14 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 :";
public void setId(int id){
this.id = id;
}
public int getId(){
return this.id;
}
public void ajouterMessage(ConnexionAuForum connect) throws SQLException{
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";