SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59

更新数据遇到的一个小问题,记录一下。

数据库有个字段CreateTime,更新的时候,Model里面没有赋值,默认Null,就传给手写的Update方法了。写入数据库的时候,这个变量的值默认是赋成了01年01月01日。

把写的Update方面里面的CreateTime变量去掉,不更新这个字段,问题解决。

后置代码:

 1 protected void btnSubmit_Click(object sender, EventArgs e)
 2 {
 3   if (Request.Params["id"] != null)
 4    {
 5      //绑定Model
 6       MODEL.M_vliiage_main mainmodel = new MODEL.M_vliiage_main();
 7       mainmodel.Id = Convert.ToInt16(Request.Params["id"].ToString());
 8       mainmodel.C_area_id = Convert.ToInt16(ddlXianQu.SelectedValue);
 9       mainmodel.Count = int.Parse(txtCount.Text.ToString());
10       mainmodel.Finishdate = DateTime.Parse(txtFinishDate.Text.ToString());
11     //调用更新方法
12       bool i = mainbll.Update(mainmodel);
13       if (i)
14       {
15         common.MessageBox.Show(Page, "修改成功", "villageshow.aspx", "Error7");
16       }
17       else
18       {
19         common.MessageBox.Show(Page, "修改失败", "Error8");
20       }
21    }
22    else
23    {
24                
25    }
26 }

更新的代码:

 1 public bool Update(MODEL.M_vliiage_main model)
 2 {
 3       StringBuilder strsql = new StringBuilder();
 4       strsql.Append("update village_main set ");
 5       strsql.Append("c_area_id=@c_area_id,");
 6       strsql.Append("count=@count,");
 7       strsql.Append("finishdate=@finishdate,");
 8       strsql.Append("createtime=@createtime,");
 9       strsql.Append("uid=@uid");
10       strsql.Append(" where id=@id");
11       SqlParameter[] pars = { 
12                           new SqlParameter("@c_area_id",model.C_area_id),
13                           new SqlParameter("@count",model.Count),
14                           new SqlParameter("@finishdate",model.Finishdate),
15                           new SqlParameter("@createtime",model.createtime),
16                           new SqlParameter("@uid",model.Uid),
17                           new SqlParameter("@id",model.Id)
18                           };
19       int rows = sqlhelp.Upda(strsql.ToString(),pars);
20       if (rows > 0)
21       {
22           return true;
23       }
24       else
25       {
26           return false;
27       }
28 }

把加了删除线的删掉之后,就OK了。

posted @ 2012-09-16 09:19  十步杀一人  阅读(339)  评论(0)    收藏  举报