gpt4 book ai didi

java - 使用 to-date 函数更新 jdbc 中的 Date_n

转载 作者:行者123 更新时间:2023-12-01 09:15:36 25 4
gpt4 key购买 nike

我想使用 to date 函数更新数据库中的 date_n,但它总是给我一个错误“未封闭的字 rune 字”。

 try {
// TODO add your handling code here:
String radio = "";
String date = f.format(jDateChooser1.getDate());
if(jRadioButton1.isSelected()){
radio ="Masculin";
}else{
if(jRadioButton2.isSelected()){
radio ="Féminin";
}
}
requete =" update humain set nom = '"+jTextField2.getText()+"',prenom='"+jTextField3.getText()+"',adresse ='"+jTextField4.getText()+"',date_n="'to_date('"+date+"','yyyy-mm-dd')"+"',sex = '"+radio+"'where id= '"+jTextField1.getText()+"'";
state.executeUpdate(requete);
RefreshTable();
} catch (SQLException ex) {
Logger.getLogger(easy_methodes.class.getName()).log(Level.SEVERE, null, ex);
}

最佳答案

为了避免 sql 字符串连接错误和跨站点脚本问题(请参阅 here ),您需要使用 preparedstatement.setString() setDate()等..如下所示:

SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd");
java.sql.Date sqlDate = new java.sql.Date(jDateChooser1.getDate().getTime());

requete = "update humain set nom = ?, prenom=?, adresse=?, date_n=?, sex=? where id=?";
state = con.prepareStatement(requete);
updateSales.setString(1, jTextField2.getText());
updateSales.setString(2, jTextField3.getText());
updateSales.setString(3, jTextField4.getText());
updateSales.setDate(4, sqlDate);
updateSales.setString(5, radio);
updateSales.setString(6, jTextField1.getText());
state.executeUpdate(requete);

关于java - 使用 to-date 函数更新 jdbc 中的 Date_n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40561762/

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