Muj*_*hid 0 java date datechooser
我正在使用JDatechooser netbeans swing插件进行桌面应用程序开发.默认情况下,其dateformat为mm/dd/yy,但不是db所需的格式.我需要将其转换为yyyy-mm-dd格式.我尝试使用SimpleDateformat类,它给了我以下错误:com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value: '8/29/11' for column 'registered_date' at row 1
任何人都可以给我一个很好的解决方案来做到这一点
谢谢
您的数据库根本不需要特定的日期格式 - 您不应该首先将数据作为字符串插入.您应该使用准备好的声明并使用setDate.理想情况下,您应该尽可能少地执行字符串转换 - 在获取值时不需要一个JDateChooser,并且在插入数据库时不需要一个:
// Unfortunately you need to convert from java.util.Date to java.sql.Date
statement.setDate(1, new java.sql.Date(chooser.getDate().getTime()));
Run Code Online (Sandbox Code Playgroud)
(请注意,你就可能需要牢记的时区,但是这是一个不同的事......你可以调用setDate重载,这需要的日历中.)
如果你已经插入(或查询)通过构建完整的SQL语句,包括值的数据,你应该停止这样做的时候了.您不仅会遇到这种转换问题,而且还会遇到SQL注入攻击.始终使用预准备语句并将任何参数指定为参数,而不是将它们包含在SQL中.
| 归档时间: |
|
| 查看次数: |
1714 次 |
| 最近记录: |