【问题标题】:Stire JDateChooser date in a the database在数据库中搅拌 JDateChooser 日期
【发布时间】:2016-07-18 23:42:15
【问题描述】:

我想将 jDateChooser 日期存储在数据库中,其中我有一个 sql 日期类型的列。这是我使用的代码:

try{ 
        String f_name = qq.getText();
        String l_name= jTextField2.getText();
        String add1 =jTextField4.getText();
        String add2 =jTextField5.getText();
       String add3 =jTextField6.getText();
        String add4 =jComboBox1.getSelectedItem().toString();
        String add= add1+","+add2+","+add3+","+add4+".";
        java.util.Date dob= jDateChooser1.getDate();
        String url="jdbc:sqlserver://localhost:1433;databaseName=gym2 ";
        String username = "mali";
        String password = "12345";
        Connection con =DriverManager.getConnection(url,username,password);
        Statement st = con.createStatement ();

        PreparedStatement pre = con.prepareStatement ("INSERT INTO employee_reg(firstname,lastname,full_address,dateofbirth)VALUES(?,?,?,?)");
        pre.setString(1,f_name);
        pre.setString(2,l_name);
        pre.setString(3,add);
        pre.setDate(4, (Date) dob);
        pre.executeUpdate();

        pre.close();
        con.close();           
    }
    catch(Exception en)   { } 

但它不起作用。

【问题讨论】:

  • 将日期选择器日期转换为 sql.date 尝试:java.sql.Date dob = new Date(jDateChooser1 .getDate().getTime());

标签: java sql date jdatechooser


【解决方案1】:

将 util.Date 转换为 sql.Date 而不是强制转换。见 cmets:

    try{ 
        String f_name = qq.getText();
        String l_name= jTextField2.getText();
        String add1 =jTextField4.getText();
        String add2 =jTextField5.getText();
        String add3 =jTextField6.getText();
        String add4 =jComboBox1.getSelectedItem().toString();
        String add= add1+","+add2+","+add3+","+add4+".";
        //convert java.uti.Date to java.sql.Date by: 
        java.sql.Date dob= new java.sql.Date(jDateChooser1.getDate().getTime);
        String url="jdbc:sqlserver://localhost:1433;databaseName=gym2 ";
        String username = "mali";
        String password = "12345";
        Connection con =DriverManager.getConnection(url,username,password);
        Statement st = con.createStatement ();

        PreparedStatement pre = con.prepareStatement ("INSERT INTO employee_reg(firstname,lastname,full_address,dateofbirth)VALUES(?,?,?,?)");
        pre.setString(1,f_name);
        pre.setString(2,l_name);
        pre.setString(3,add);
        //no need to cast
        pre.setDate(4, dob);
        pre.executeUpdate();

        pre.close();
        con.close();
    }
    catch(Exception en) {}

【讨论】:

猜你喜欢
  • 2016-07-11
  • 1970-01-01
  • 2017-04-18
  • 2020-01-06
  • 2021-08-15
  • 1970-01-01
  • 2016-01-19
  • 2012-11-15
  • 2022-01-13
相关资源
最近更新 更多