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了。
浙公网安备 33010602011771号