0

私のJSPページには、日付であるフィールドがあり、取得すると私にrequest.getParameter("dateVal");与えられます

15-Dec-2012 12:21.

この値をデータベース プロシージャに渡し、テーブルに挿入/更新したいと考えています。データベースにsetDate使用する値を渡すにはどうすればよいですか?prepareCall

ありがとう

4

3 に答える 3

1

最初のステップは、コントローラーで完全なインスタンスにSimpleDateFormat解析するために使用します。java.util.Date

Date date = new SimpleDateFormat("dd-MMM-yyyy HH:mm.", Locale.ENGLISH).parse(dateVal);

java.sql.Date次に、データベース層でその時間帯を作成できます。

statement.setDate(1, new java.sql.Date(date.getTime()));

具体的な問題とjava.sql.Dateは関係ありませんが、時間の部分は覚えていませんのでご了承ください。実際にDB にフィールドではなくDATETIMEorフィールドがある場合は、代わりに aを使用します。このようにして、時間部分も保存されます。TIMESTAMPDATEsetTimestamp()java.sql.Timestamp

于 2012-10-15T13:13:48.417 に答える
0

@BalusC の答えは完璧です。ただし、代替ソリューションとして、データベースが提供する関数を使用して、クエリ中に文字列を日付に変換できます。たとえば(Oracleを使用する場合)、

to_date(date_in_String, format)
于 2012-10-15T13:49:41.527 に答える
-1

これを試して :

new SimpleDateFormat("dd-MM-yyyy HH:mm").parse(mydate);

于 2012-10-15T13:13:52.870 に答える