SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间。 这个是哪里的问题 帮忙解决一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的时间时初始化的时间 0001-01-01 不要用DateTime.Min数据库的范围和.net 的时间 两个的范围不一致 当天时间在数据库里用getdate,在C#里用datetime.now 有些时候时间溢出是因为获取的时间经过了转换等处理,你调试一下得到的时间日期值(或者给变量的赋值)是不是介于1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间! string NewsTitle = txtNewsTitle.Text.Trim(); string NewsContent = Request.Form["content"]; info.NewsTitle = NewsTitle; info.NewsContent = NewsContent; if (txtBeginDate.Text.Trim() != "") { info.BeginDate = Convert.ToDateTime(txtBeginDate.Text.Trim()); } if (txtEndDate.Text.Trim() != "") { info.EndDate = Convert.ToDateTime(txtEndDate.Text.Trim()); } long ActivityID = -1; try { ActivityID = Convert.ToInt64(Request.Form[hidActivityID.UniqueID]); } catch { } Database db = DatabaseFactory.CreateDatabase(); DbCommand cmd = db.GetSqlStringCommand(SQL_INSERT); db.AddInParameter(cmd, "@NewsID", DbType.Int64, info.NewsID); db.AddInParameter(cmd, "@CategoryID", DbType.Int32, info.CategoryID); db.AddInParameter(cmd, "@ActivityID", DbType.Int64, info.ActivityID); db.AddInParameter(cmd, "@ActivityName", DbType.String, info.ActivityName); db.AddInParameter(cmd, "@NewsTitle", DbType.String, info.NewsTitle); db.AddInParameter(cmd, "@NewsContent", DbType.String, info.NewsContent); db.AddInParameter(cmd, "@BeginDate", DbType.DateTime, info.BeginDate); db.AddInParameter(cmd, "@EndDate", DbType.DateTime, info.EndDate); db.AddInParameter(cmd, "@CreateDate", DbType.DateTime, info.CreateDate); db.AddInParameter(cmd, "@ActivityBeginDate", DbType.DateTimeinfo.ActivityBeginDate); db.AddInParameter(cmd, "@ActivityEndDate", DbType.DateTime, info.ActivityEndDate); db.AddInParameter(cmd, "@CompanyAbbreviationName", DbType.String, info.CompanyAbbreviationName); db.ExecuteScalar(cmd);最后报错 txtBeginDate.Text和txtEndDate.Text的值是什么? 你可能是忘记给某个时间字段赋值了,你检查一下,比如一个模型层对象里有AddTime和ModifyTime,而你只给一个字段赋了值,却忘记另一个字段了,就会出现这个错误,其实并不是C#中的DateTime的最小日期超出了Sql的日期范围,而是某个日期字段本来该赋值的,但你却没有给它赋值,系统就自动用C#的DateTime的最小日期给它赋了值,结果就造成这个错误了,它这个错误是提示你有一个字段没有赋值,而不是表面上说的那个意思,你好好检查一下 你换成 info.BeginDate = Convert.ToDateTime(txtBeginDate.Text.Trim()+ " 00:00:00");info.EndDate = Convert.ToDateTime(txtEndDate.Text.Trim()+ " 00:00:00");试试。 你给值是正确的,但应该存在细节问题,你断点跟综一下,txtBeginDate.Text.Trim()得的值是什么?有可能不是你想像的那个值,断点跟综一下 你insert那么多字段,所有字段都有赋值吗?特别是有日期的字段。数据库中你insert是否可以为空,不能为空的话,就必须给其赋值 winform中开发控件的问题 刚自学入手.net,有点晕。。。 求一sql语句,如何在两个关联数据表中进行更新。 操作 string 类型 的简单问题 关于不同浏览模式的异同? 为什么会提示这样的对象错误? 就问一个问题,这个问题卡了好1个星期了,项目一点没动。 (2222222222) 请问:为何调用Oracle过程返回结果集后用GridView显示不出来数据 在aspx里怎么时使用js的日期控件 ASP.NET MVC不适合用户界面设计师使用吗? Handler1.ashx文件,前台用AJAX怎么取数据 EF 4中如何生成ObjectContext
string NewsContent = Request.Form["content"]; info.NewsTitle = NewsTitle;
info.NewsContent = NewsContent;
if (txtBeginDate.Text.Trim() != "")
{
info.BeginDate = Convert.ToDateTime(txtBeginDate.Text.Trim());
}
if (txtEndDate.Text.Trim() != "")
{
info.EndDate = Convert.ToDateTime(txtEndDate.Text.Trim());
}
long ActivityID = -1;
try
{
ActivityID = Convert.ToInt64(Request.Form[hidActivityID.UniqueID]);
}
catch { }
DbCommand cmd = db.GetSqlStringCommand(SQL_INSERT);
db.AddInParameter(cmd, "@NewsID", DbType.Int64, info.NewsID);
db.AddInParameter(cmd, "@CategoryID", DbType.Int32, info.CategoryID);
db.AddInParameter(cmd, "@ActivityID", DbType.Int64, info.ActivityID);
db.AddInParameter(cmd, "@ActivityName", DbType.String, info.ActivityName);
db.AddInParameter(cmd, "@NewsTitle", DbType.String, info.NewsTitle);
db.AddInParameter(cmd, "@NewsContent", DbType.String, info.NewsContent);
db.AddInParameter(cmd, "@BeginDate", DbType.DateTime, info.BeginDate);
db.AddInParameter(cmd, "@EndDate", DbType.DateTime, info.EndDate);
db.AddInParameter(cmd, "@CreateDate", DbType.DateTime, info.CreateDate);
db.AddInParameter(cmd, "@ActivityBeginDate", DbType.DateTimeinfo.ActivityBeginDate);
db.AddInParameter(cmd, "@ActivityEndDate", DbType.DateTime, info.ActivityEndDate);
db.AddInParameter(cmd, "@CompanyAbbreviationName", DbType.String, info.CompanyAbbreviationName);
db.ExecuteScalar(cmd);最后报错
info.BeginDate = Convert.ToDateTime(txtBeginDate.Text.Trim()+ " 00:00:00");
info.EndDate = Convert.ToDateTime(txtEndDate.Text.Trim()+ " 00:00:00");试试。
有可能不是你想像的那个值,断点跟综一下
数据库中你insert是否可以为空,不能为空的话,就必须给其赋值