gpt4 book ai didi

java - 提交表单时出错:Data truncation: Incorrect datetime

转载 作者:行者123 更新时间:2023-11-30 00:34:30 27 4
gpt4 key购买 nike

验证表单时出现此异常,

dao.DAOException: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '\xAC\xED\x00\x05sr\x00\x1Acom.sun.jmx.snmp.Timestamp\xFC\xA2\x9Fq\xB8z\xE9!\x02\x00\x04J\x00\x06crtimeJ\x00\x09sysUpTimeL\x00\x0' for column 'date' at row 1
at dao.CommandeDaoImpl.creer(CommandeDaoImpl.java:55)
at forms.InscriptionCommandeForm.inscrireCommande(InscriptionCommandeForm.java:95)
at servlets.Commande.doPost(Commande.java:50)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)

相关类 CommandeDaoImpl 的代码部分:

public void creer(CommandeBean commande) throws DAOException {
Connection connexion = null;
PreparedStatement preparedStatement = null;
ResultSet valeurAutoGenerees = null;
try{
connexion = daoFactory.getConnection();
preparedStatement = DAOUtilitaire.initialisationRequetePreparee(
connexion, SQL_INSERT, true, commande.getClient().getId(),
new Timestamp( commande.getDate().getMillis()),
commande.getMontant(), commande.getModePaiement(), commande.getStatutPaiement(),
commande.getModeLivraison(), commande.getStatutLivraison());

int statut = preparedStatement.executeUpdate();
if(statut == 0){
throw new DAOException("Echec de la creation de la commande, aucune ligne ajoutée dans la table.");
}
valeurAutoGenerees = preparedStatement.getGeneratedKeys();
if(valeurAutoGenerees.next()){
commande.setId( valeurAutoGenerees.getLong(1));
}else{
throw new DAOException("Échec de la création de la commande en base,"
+ " aucun ID auto-généré retourné.");
}
}catch(SQLException e){
throw new DAOException(e);
}finally{
DAOUtilitaire.fermeturesSilencieuses(valeurAutoGenerees, preparedStatement, connexion);
}
}

注意:这两个线性关系涉及两个不同项目的两类:在forms.InscriptionCommandeForm.inscrireCommande(InscriptionCommandeForm.java:95)在 servlets.Commande.doPost(Commande.java:50)

编辑:

    SQL_INSERT = "INSERT INTO commande (
id_client,
date,
montant,
mode_paiement,
statut_paiement,
mode_livraison,
statut_livraison)
VALUES (?, ?, ?, ?, ?, ?, ?)";
<小时/>
       CREATE TABLE tp_sdzee.Commande (
id INT( 11 ) NOT NULL AUTO_INCREMENT,
id_client INT( 11 ),
date DATETIME NOT NULL,
montant DEC( 11 ) NOT NULL,
mode_paiement VARCHAR( 20 ) NOT NULL,
statut_paiement VARCHAR( 20 ),
mode_livraison VARCHAR( 20 ) NOT NULL,
statut_livraison VARCHAR( 20 ),
PRIMARY KEY ( id ),
CONSTRAINT fk_id_client FOREIGN KEY (id_client) REFERENCES Client(id) ON DELETE SET NULL )
ENGINE = INNODB;

最佳答案

嘿,你应该检查你的TIMESTAMP

java.sql.Timestamp

他们的错误是下面一行:(他们的日期值太错误了)。

com.sun.jmx.snmp.Timestamp . 

following link as to click

关于java - 提交表单时出错:Data truncation: Incorrect datetime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22285761/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com