Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#日期时间默认值发布01/01/0001 00:00:00_C#_Sql_Visual Studio 2010_Datetime - Fatal编程技术网

C#日期时间默认值发布01/01/0001 00:00:00

C#日期时间默认值发布01/01/0001 00:00:00,c#,sql,visual-studio-2010,datetime,C#,Sql,Visual Studio 2010,Datetime,我在将日期时间插入数据库时遇到问题,错误如下: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM. 我知道SQL日期必须在1/1/1753 12:00:00 am和12/31/9999之间,但是我的日期似乎保持在01/01/0001 00:00:00 我在web服务方法中定义了以下日期: [DataMember] public DateTime RecordTime

我在将日期时间插入数据库时遇到问题,错误如下:

SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.
我知道SQL日期必须在1/1/1753 12:00:00 am和12/31/9999之间,但是我的日期似乎保持在01/01/0001 00:00:00

我在web服务方法中定义了以下日期:

  [DataMember]
  public DateTime RecordTimeStamp { get; set; }
这在下面的代码中用于添加到数据库中

  sqlComm.Parameters.Add("@RecordTimeStamp", SqlDbType.DateTime).Value = pCustomer.RecordTimeStamp;
此代码从带有代码的aspx页面获取其值

  DateTime now = DateTime.Now;
  pCustomer.RecordTimeStamp = now;

我试图让它将当前日期插入数据库,但它似乎没有改变默认值

尝试更改属性

发件人:

致:


希望这能解决这个问题。发生的情况是DateTime不是NULL数据类型,它强制将默认值放在那里(01/01/0001),以确保提交非NULL日期。我不知道为什么它不接受修改后的值并抛出“超出范围”的异常。这是您可能需要进一步研究的问题。

FWIW,您得到的值是字段。。。和用于未分配的
DateTime
变量。这是从DateTime dt=new DateTime()得到的。网页和web服务之间的关系是什么?是否将对象提交到web服务?您的错误表明该值在某个点丢失,因此该字段正在使用其默认值。。。或者存储过程实际上没有使用该参数。这是ms sql 2008还是更高版本?如果ms sql 2005,则其仅接受
日期
格式错误未成功设置
pcCustomer.RecordTimeStamp的日期
[DataMember]
public DateTime RecordTimeStamp { get; set; }
[DataMember]
public DateTime? RecordTimeStamp { get; set; }