我使用了与JDateChooser相同的代码逻辑来创建一个保存按钮,该按钮将我选择的JYearChooser值保存到我的derby数据库中。
前两个日期值可以成功加载到我的数据库中,但是当保存到我的数据库中年份值始终为“1970”时。
这是我的保存按钮代码:
private void Cmd_saveActionPerformed(java.awt.event.ActionEvent evt)
{
String 被审计单位名称 = txt_被审计单位名称.getText();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String 发票日期 = sdf.format(txt_发票日期.getDate());
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
String 报告日期 = sdf2.format(txt_报告日期.getDate());
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy");
String 审计年度 = sdf3.format(txt_审计年度.getYear());
String 被审计单位类型 = (String) txt_被审计单位类型.getSelectedItem();
String 签字注册会计师 = txt_签字注册会计师.getText();
String 备注 = txt_备注.getText();
String 意见类型 = (String) txt_意见类型.getSelectedItem();
String 已审资产总额_元 = txt_已审资产总额_元.getText();
String 已审营业收入_元 = txt_已审营业收入_元.getText();
String 收费金额_元 = txt_收费金额_元.getText();
try{
rs.moveToInsertRow();
rs.updateString("被审计单位名称", 被审计单位名称);
rs.updateString("发票日期", 发票日期);
rs.updateString("报告日期", 报告日期);
rs.updateString("审计年度", 审计年度);
rs.updateString("被审计单位类型", 被审计单位类型);
rs.updateString("签字注册会计师", 签字注册会计师);
rs.updateString("备注", 备注);
rs.updateString("意见类型", 意见类型);
rs.updateString("已审资产总额_元", 已审资产总额_元);
rs.updateString("已审营业收入_元", 已审营业收入_元);
rs.updateString("收费金额_元", 收费金额_元);
rs.insertRow( );
stmt.close();
rs.close();
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM SHENJIWAIZI1";
rs = stmt.executeQuery(SQL);
JOptionPane.showMessageDialog(this, "项目已保存");
}
catch (SQLException err){
JOptionPane.showMessageDialog(this, err.getMessage());
}
}
}
正如您所看到的,我最近的三个记录中有1970年作为年份值。
为什么会这样?