我正在尝试使用此代码插入日期:
java.sql.Timestamp sqlNow=new java.sql.Timestamp(new java.util.Date().getTime());
pstTimestamp(1,sqlNow);
在运行代码时,结果成功,但日期未显示在数据库中。
答案 0 :(得分:5)
您应该使用PreparedStatement
并使用它来设置date
,如下所示: -
PreparedStatement pstmt = con.prepareStatement("INSERT INTO table_name (col_name) VALUES (?)");
pstmt.setTimestamp(1, new java.sql.Timestamp(new java.util.Date().getTime()));
pstmt.executeUpdate();
了解更多here
答案 1 :(得分:1)
试试这个
PreparedStatement ps = con.prepareStatement("INSERT INTO table_name (col_name) VALUES (now())");
ps.executeUpdate();
使用now()
以便它只以db格式获取日期。
答案 2 :(得分:0)
确保在运行命令后提交。或者确保在连接上启用了自动提交。
答案 3 :(得分:0)
只需要向java.sql.Timestamp
对象提供PreparedStatement
类对象,其余工作将由驱动程序完成。
我认为在设置占位符值(参数)时代码中存在问题。
使用pstmnt.setTimestamp(int index, java.sql.Timestamp timestamp_object);
现在执行您的查询:pstmnt.executeUpdate();