2017-07-17 19 views
1

PreparedStamementがあるので、タイムスタンプ型のフィールドがあり、固定値に設定するのではなく、NOW()を呼び出します。それ、どうやったら出来るの?Java PreparedStatementのフィールドから関数を呼び出しますか?

私が試した:

statement.setString(11, "NOW()") 

をそれは文字列にフィールドを設定しようとする "(NOW)" の代わりにNOW呼び出しの()。

ありがとうございました。

+0

クエリコードを共有できますか。 –

+2

https://stackoverflow.com/questions/7626076/how-to-set-current-date-and-time-using-prepared-statement – Reimeus

答えて

3

これはできません。しかし、準備されたステートメントのSQLでは、?の代わりにNOW()を使用することができます。

また、あなたはSQLで?を維持し、あなたが現在の日付時刻スタンプを返すmysql now()関数を呼び出すために喜んでいるようだstatement.setDate(11, new Date());

0

行うことができます。

もしそうなら、あなたはpreparedStatementを使用してそれを置くしようとした場合、それはないmysql関数として純粋な文字列値として扱われ、「クエリの文字列部分」としてqueryStringnow()を置く必要があります。 ...あなたはnow()という名前のJavaコードの機能を呼び出したい場合は、それから、二重引用符を削除し、それreturns Stringを確認してください。この http://www.mysqltutorial.org/mysql-now/

  • OR

を参照してください。

1

コールpreparedStatement.setTimeStamp(11, LocalDateTime.now().toString())

は、Java 8使用して、または文字列として現在の時刻を取得する方法を学習したいされていない場合は、thisを参照してください。

関連する問題