作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将日期插入到 mySql 数据库中。我接受日期作为字符串并将其解析为 util.Date 然后将其转换为 sql.Date 然后我插入到数据库中。这是我的代码
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
String mydate=dsd.getDoa();
Date mydate2=format.parse(mydate);
java.sql.Date sqlDate;
sqlDate = new java.sql.Date(mydate2.getTime());
System.out.println("Date"+sqlDate.getDate()+"Month"+sqlDate.getMonth()+"Year"+sqlDate.getYear());
....
int i=st.executeUpdate("insert into device_sales_details values("+sqlDate+"));
错误如下,
com.mysql.jdbc.MysqlDataTruncation:数据截断:日期值不正确:第 1 行的“device_sales_details_DOA”列为“1980”
Sysout
打印如下输入 22/12/2014
Date22Month11Year114
如何解决这个问题,谁能帮我解决这个问题。
最佳答案
使用 PreparedStatement
.使用字符串连接创建 SQL 代码以通过 JDBC 发送几乎是不正确的。
PreparedStatement ps = connection.prepareStatement("insert into device_sales_details values(?)");
ps.setDate(1, sqlDate);
int i = ps.executeUpdate();
更多关于此处不使用字符串连接的信息:http://bobby-tables.com
另外,通常最好在插入时指定列,例如:insert into device_sales_details (columnName) values (?)
关于java - 如何将日期插入mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27617154/
我是一名优秀的程序员,十分优秀!