【问题标题】:How to Store Date in sql server 2005 using java如何使用java在sql server 2005中存储日期
【发布时间】:2013-11-27 05:58:38
【问题描述】:

我正在尝试在 sql server 2005 中存储日期

我在 sql server 中使用“日期时间”数据类型

在java程序中我将字符串作为日期传递

例如。

String Date = "12/12/2013";
String sql = "INSERT INTO info (date) VALUES ( ? )";

try {
      pstmt = con.prepareStatement(sql);
      pstmt.setString(1, Date); // or pstmt.setDate(1, Date); both not working
      pstmt.executeUpdate();
     } catch (SQLException e) {
            System.out.println("Error:" + e);
     }

我认为 String 需要转换为 DateTime 格式,但我不知道该怎么做。 请帮我解决这个问题

【问题讨论】:

    标签: java sql-server datetime prepared-statement


    【解决方案1】:

    由于您在数据库中的列是日期时间数据类型,因此您需要使用pstmt.setDate(1, Date); pstmt.setString(1, Date);

    替代解决方案 那么您的列是日期时间数据类型,所以您还需要存储时间 试试这个方法

    Date d=new Date();
    java.sql.Date  d1=new java.sql.Date(d.getTime());
    String sql = "INSERT INTO info (date) VALUES ( ? )";
    
    try {
          pstmt = con.prepareStatement(sql);
           pstmt.setDate(1, d1); 
          pstmt.executeUpdate();
         } catch (SQLException e) {
                System.out.println("Error:" + e);
         }
    

    【讨论】:

    • 它在netbean中给出错误“不兼容的类型字符串不能转换为日期”
    • @Nilesh12 是的,它会给你错误,因为你需要传递日期对象。
    • 现在它给出错误 java.util.date cannot be convert to java.sql.date
    • 是的,兄弟 thnx 它正在将日期存储到数据库中,但现在我想将像“12/12/2013”​​这样的字符串存储到日期类型中,所以这意味着它需要转换为日期,所以该怎么做那
    • @Nilesh12 如果它有效,那么您现在可以接受我的回答。您可以使用 simpledateformat 来回答您的 2ns 问题
    猜你喜欢
    • 2011-09-06
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 2014-08-29
    • 2010-09-09
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    相关资源
    最近更新 更多