将特定日期设置为准备好的语句
Posted
技术标签:
【中文标题】将特定日期设置为准备好的语句【英文标题】:Setting a particular date into a prepared statement 【发布时间】:2013-06-20 16:37:10 【问题描述】:我正在尝试以这种格式将任何给定日期插入到我准备好的语句中(例如 11/08/1989、04/15/1955)
这是我的代码:
pstmnt = conn.prepareStatement("INSERT INTO user_info VALUES (?,?,?,?,?,?)");
pstmnt.setInt(1, max_id);
pstmnt.setString(2, f_name);
pstmnt.setString(3, l_name);
pstmnt.setString(4, email);
pstmnt.setString(5, username);
pstmnt.setDate(6, ?);
pstmnt.addBatch();
鉴于很多 Date 方法已被弃用,我不确定如何实现。
有什么想法吗?
【问题讨论】:
【参考方案1】:您需要将java.sql.Date
对象传递给setDate()
方法。
pstmt.setDate(6,
new java.sql.Date(( new
SimpleDateFormat("MM/dd/yyyy").parse("11/08/1989")).getTime()));
【讨论】:
等一下,我认为这是我的错误,我会在几分钟内回复您【参考方案2】:使用SimpleDateFormat:
pstmt.setDate(6, new java.sql.Date(
new SimpleDateFormat("MM/dd/yyyy").parse("11/08/1989")));
【讨论】:
编译器报错“不兼容的类型:java.util.Date不能转换成java.sql.Date”以上是关于将特定日期设置为准备好的语句的主要内容,如果未能解决你的问题,请参考以下文章
如何将准备好的语句与 OleDbDataAdapter 一起使用?
将 Oracle upsert 转换为 PostgreSQL 准备好的语句