質問:
しようとするとエラーが発生しますjava.util.Date フィールドを持つレコードをデータベースに挿入します。エラーは、「日時値の文字列表現の構文が正しくありません」と述べています。この問題はどうすれば解決できますか?
解決策:
データベースに java.util.Date フィールドを挿入するには、まずオブジェクト リレーショナル マッピング ( ORM) ソリューション (Hibernate など) を使用して SQL クエリを抽象化します。ただし、これが不可能な場合は、次の手順を使用できます。
例:
java.util.Date myDate = new java.util.Date("10/10/2009"); java.sql.Date sqlDate = new java.sql.Date(myDate.getTime()); Connection conn = ...; // Obtain the database connection String sql = "INSERT INTO USERS (USER_ID, FIRST_NAME, LAST_NAME, SEX, DATE) VALUES (?, ?, ?, ?, ?);"; PreparedStatement stmt = conn.prepareStatement(sql); stmt.setString(1, userId); stmt.setString(2, myUser.GetFirstName()); stmt.setString(3, myUser.GetLastName()); stmt.setString(4, myUser.GetSex()); stmt.setDate(5, sqlDate); stmt.executeUpdate(); // Execute the SQL query
このアプローチは自動的に行われます。文字列をエスケープし、SQL インジェクションの脆弱性を防ぎます。
以上がjava.util.Date フィールドをデータベースに適切に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。