在MSSql中插入日期时出错

时间:2014-09-23 06:26:11

标签: sql-server jsp date

enter image description here
这是我的表格格式

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:操作数类型冲突:   日期与文字不兼容

请帮我解释如何以正确的日期格式转换此数组列表。

1 个答案:

答案 0 :(得分:0)

您可能必须指定要插入的所有列名称。尝试以下INSERT语句,看看是否还有问题

INSERT INTO dbo.timesheet_details(det_id,emp_id,period)VALUES(?,?,?);