插入日期,這是我的表格式錯誤而在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