开始使用PreparedStatement,它将防止SQL 注入。阅读此 SO Q&A了解更多信息。
你可以这样做:
String sql ="Select * from Payment where Payment_Date between ? and ? ";
PreparedStatement pstmt = conn.prepareStatement(query);
pstmt.setDate(1, date_1 );
pstmt.setDate(2, date_2 );
// date_1 and date_2 objects should be of type java.sql.Date
确保在方法中设置正确的参数类型setXXX()
。请记住,如果Payment_Date
isDATE
和相关类型的数据类型,您需要在setDate()方法中设置java.sql.Date 。如果列的数据类型是,则使用java.sql.Timestamp和setTimestamp()方法。TIMESTAMP
脚注:-
如果您有一个java.util.Date
对象,您可以将其转换java.sql.Date
为:
java.sql.Date sqlDateObject = new java.sql.Date(utilDateObject.getTime());