插入日期,这是我的表格式错误而在MSSQL
ArrayList<String> dates = (ArrayList<String>)session.getAttribute("dates");
for(int i =0;i<7;i++)
{
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
java.sql.Date d= new java.sql.Date(formatter.parse(dates.get(i)).getTime());
PreparedStatement pst1=mc.conn.prepareStatement("insert into dbo.timesheet_details values(?,?,?)");
pst1.setInt(1, newtmId);
pst1.setInt(2, 36);
pst1.setDate(3,d);
pst1.executeUpdate();
}
这是我的数组列表中的日期。
dates = [2014-09-23, 2014-09-24, 2014-09-25, 2014-09-26, 2014-09-27, 2014-09-28, 2014-09-29]
错误是...
com.microsoft.sqlserver.jdbc.SQLServerException:操作数类型冲突: 日期与文字不符
请帮助我如何转换此数组列表使用正确的日期格式..
什么是'timesheet_details'的表定义?你可以添加到您的帖子吗? – 2014-09-23 06:44:31
从查看您的代码,我并没有发现会导致SQLServerException的错误。我注意到的是,你在循环的每次迭代中创建一个PreparedStatement,这是一个错误。准备好你的语句一次,并像你现在一样在你的循环中使用PreparedStatement(通过调用'executeUpdate')。之后不要忘记清理你的声明,关闭它。 – 2014-09-23 07:02:52
您能否请您发布异常的完整堆栈跟踪? – 2014-09-23 07:03:12