从char数据类型到DateTime数据类型的转换导致超出范围的DateTime值。
该语句已终止。
ALTER PROCEDURE [dbo].[attendance_updatebyemployee_id]
@Employee_id int,
@AtDate datetime,
@FNLogged bit,
@ANLogged bit,
@LogTime varchar(10),
@LogOuttime varchar(10)
AS
BEGIN
SET NOCOUNT ON;
update Mst_Attendance set FNLogged=@FNLogged,
ANLogged=@ANLogged,LogTime=@LogTime,LogOuttime=@LogOuttime
where EmployeeId=@Employee_id and Atdate= @AtDate
END
在C#代码我给它作为
cmd.Parameters.AddWithValue("@AtDate",Dtime.ToString("dd/MMM/yyyy"));
在使用SQl分析器时,传递的数据为
exec [dbo].[attendance_updatebyemployee_id] @Employee_id=2,@AtDate='Feb 19 2011 12:00:00:000AM',@FNLogged=1,@ANLogged=0,@LogTime='11:45 AM',@LogOuttime=' '
在存储过程中,@ AtDate的值为
2011-02-19 00:00:00.000.
它是从更新命令中断。
在表格内,日期另存为
2/19/2011 12:00:00 AM
我该如何解决这个日期问题。
最佳答案
如果您拥有该工具,请使用SQL Profiler实际查看传递给数据库的确切SQL字符串。这将帮助您找到错误。