2014-12-19 60 views
1

在PreparedStatements中使用CURDATE()mysql函數的正確方法是什麼? 表列是DATE類型,表中的插入值必須與1988-07-29類似。PreparedStatement和CURDATE()MySQL函數

ps.setDate(5, ...); 
+1

(http://stackoverflow.com/a/7626080/2749470),這可能幫助你 – 2014-12-19 10:05:54

+1

爲什麼不把'CURDATE()你的SQL語句的'調用一部分,刪除它的參數? – 2014-12-19 10:10:16

+0

@BhargavModi應該接受你的答案接受,它的工作 – andy007 2014-12-19 10:25:42

回答

0

您可以通過兩種方式來完成這一個是從java爲 使用java.sql.Date

例如: 使用java.sql.Date

java.sql.Date date = java.sql.Date.valueOf("2013-09-04"); 

如果你想插入當前日期:

ps.setDate(2, new java.sql.Date(System.currentTimeMillis())); 

使用java.sql.Timestamp

ps.setTimestamp(2, new java.sql.Timestamp(System.currentTimeMillis())); 

另一種方法是從SQL通過數據庫支持操作,如now()MySQLcurrent_timestamp()PostgreSQL等只是看看下面的例子

String sql = "INSERT INTO user (email, creationdate) VALUES (?, now())";//for MySQL 

瞭解更多詳情Use this link(我最喜歡的作者之一)。

竭誠爲您服務:)

2

沒有。你要麼在Java中創建當前日期或CURDATE()

2

做這樣準備的發言:

SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd"); 
String fd = f.format(new Date()); 
Date date = f.parse(fd); 
preparedStatement.setTimestamp(index, new Timestamp(date.getTime())); 
1

得很不喜歡

​​