【问题标题】:How to convert a JTextField String to java.sql.date Date如何将 JTextField 字符串转换为 java.sql.date 日期
【发布时间】:2015-05-01 14:48:46
【问题描述】:

一个常见问题(对我来说也是)是:如何将简单的字符串从例如JTextFieldjava.sql.date Date - 将一些 GUI-User-Input 作为格式正确的日期通过 Prepared Statement 插入到表中。

【问题讨论】:

    标签: sql string date jtextfield


    【解决方案1】:

    我会写一个新的转换指定的类,它有这个选项。

    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    
    public class convertText {
        public java.sql.Date formatStringToSQLDate(String strDate) throws Exception{
            Date utilDate = new Date(); //DateFormat
            SimpleDateFormat dfFormat = new SimpleDateFormat("dd.MM.yyyy"); // parse string into a DATE format      
            utilDate = dfFormat.parse(strDate); // convert a util.Date to milliseconds via its getTime() method         
            long time = utilDate.getTime(); // get the long value of java.sql.Date 
            java.sql.Date sqlDate = new java.sql.Date(time);
            return sqlDate;   
        }
    }
    

    之后,就这样使用它。

    Connection dp = DriverManager.getConnection("jdbc:ucanaccess://" + Filepath + Filename);
    Statement stat = dp.createStatement();
    String sql = "INSERT INTO user_table (Name, Birth) VALUES(?, ?)"; //statement as string
    PreparedStatement pstmt = dp.prepareStatement(sql);
    pstmt.setString(1, textFieldVorname.getText()); //replaces the first '?'
    pstmt.setDate(2, Date.formatStringToSQLDate(textFieldGeburtsdatum.getText())); //replaces the second '?'
    pstmt.executeUpdate(); //executes the insert-query
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-29
      • 2014-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多