Java Date - データベースへの挿入
java.util.Date フィールドを持つレコードをデータベースに挿入するには、次の手順を実行します。 java.sql.Date または java.sql.PreparedStatement を指定して java.sql.PreparedStatement を使用する必要があります。 java.sql.Timestamp.
元のコードと問題
元のコードの問題は、java.util.Date を直接挿入しようとしていることです。データベースを文字列として扱います。代わりに、java.util.Date を java.sql.Date に変換し、準備されたステートメントを使用して値を挿入する必要があります:
java.util.Date to java.sql.Date
java.util.Date myDate = new java.util.Date("01/01/2009"); java.sql.Date sqlDate = new java.sql.Date(myDate.getTime());
準備完了ステートメント
sb.append("INSERT INTO USERS"); sb.append("(USER_ID, FIRST_NAME, LAST_NAME, SEX, CRDATE) "); sb.append("VALUES ( "); sb.append("?, ?, ?, ?, ?"); sb.append(")"); Connection conn = ...; // get the connection somehow PreparedStatement stmt = conn.prepareStatement(sb.toString()); stmt.setString(1, userId); stmt.setString(2, myUser.GetFirstname()); stmt.setString(3, myUser.GetLastname()); stmt.setString(4, myUser.GetSex()); stmt.setDate(5, sqlDate);
利点
プリペアド ステートメントを使用すると、次のような利点があります。
以上がJava を使用して「java.util.Date」をデータベースに適切に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。