将 JDateChooser 中的日期插入 Oracle DB

Posted

技术标签:

【中文标题】将 JDateChooser 中的日期插入 Oracle DB【英文标题】:Insert date from JDateChooser into Oracle DB 【发布时间】:2016-07-13 23:07:45 【问题描述】:

我一直在尝试使用 JDateChooser 将日期插入到我的 Oracle 数据库中,但我不断收到此错误:

SQL 错误:ORA-01861:文字与格式字符串不匹配。

这是我的代码。

        private void addActionPerformed(java.awt.event.ActionEvent evt)                                     
    // TODO add your handling code here:
    try
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String d = sdf.format(tdate.getDate());
        System.out.println(d);

    String sql ="INSERT INTO TRACK(TRACKID,TRACKNAME,TRACKDESC,TRACKDATE)VALUES (?,?,?,?)";
        ps=conn.prepareStatement(sql);
        ps.setString(1,tid.getText());
        ps.setString(2,tname.getText());
        ps.setString(3,td.getText());
        ps.setString(4,d);
        ps.execute();

        JOptionPane.showMessageDialog(null, "Added");
    
    catch(Exception e)
    
        JOptionPane.showMessageDialog(null,e);
    

                            

【问题讨论】:

【参考方案1】:

使用setDate 而不是setString 作为第四个参数。

ps.setDate(4, new java.sql.Date(tdate.getDate().getTime());

有关设置日期的更多信息 Using setDate in PreparedStatement

【讨论】:

非常感谢!我用 ps.setDate(4, new java.sql.Date(tdate.getDate().getTime())); 我不知道 tDate 类。我已经更新了答案。请善待接受它。

以上是关于将 JDateChooser 中的日期插入 Oracle DB的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jdatechooser 从 mysql 数据库中保存和检索空日期

JDateChooser 仅在您自动选择一次日期时执行操作

ORA-01840: 使用 Select 的 Oracle 插入中的日期格式输入值不够长

如何在 JDateChooser 中设置最小值和最大值?

JTable 单元格中的 JDateChooser 输入键并不总是有效

触发错误:ORA-01403 插入时找不到数据