读书人

SqlDateTime 溢出解决方案

发布时间: 2012-01-02 22:40:04 作者: rapoo

SqlDateTime 溢出
public void update()
{
string updatestr = "update supply set factoryname=@factoryname,sort=@sort,title=@title,category=@category,area=@area,standard=@standard,price=@price,usefullife=@usefullife,releasetime=@releasetime "+
"where recordid=@recordid " ;

SqlCommand mycomm = new SqlCommand(updatestr,myconn);
mycomm.Parameters.Add( "@factoryname ",SqlDbType.VarChar,50);
mycomm.Parameters.Add( "@sort ",SqlDbType.VarChar,10);
mycomm.Parameters.Add( "@title ",SqlDbType.VarChar,100);
mycomm.Parameters.Add( "@category ",SqlDbType.VarChar,10);
mycomm.Parameters.Add( "@area ",SqlDbType.VarChar,50);
mycomm.Parameters.Add( "@standard ",SqlDbType.VarChar,50);
mycomm.Parameters.Add( "@price ",SqlDbType.VarChar,50);
mycomm.Parameters.Add( "@usefullife ",SqlDbType.DateTime);
mycomm.Parameters.Add( "@releasetime ",SqlDbType.DateTime);
mycomm.Parameters.Add( "@recordid ",SqlDbType.Int);

mycomm.Parameters[ "@factoryname "].Value = factorynamelistbox.SelectedItem.Text;
mycomm.Parameters[ "@sort "].Value = sortddl.SelectedItem.Text;
mycomm.Parameters[ "@title "].Value = titlebox.Text.Trim().ToString();
mycomm.Parameters[ "@category "].Value = categorylistbox.SelectedItem.Text;
mycomm.Parameters[ "@area "].Value = areabox.Text.Trim().ToString();
mycomm.Parameters[ "@standard "].Value = standardbox.Text.Trim().ToString();
mycomm.Parameters[ "@price "].Value = pricebox.Text;
mycomm.Parameters[ "@usefullife "].Value = Calendar1.SelectedDate.ToString( "yyyy/MM/dd ", System.Globalization.DateTimeFormatInfo.InvariantInfo);
mycomm.Parameters[ "@releasetime "].Value = DateTime.Now.ToString( "yyyy/MM/dd ", System.Globalization.DateTimeFormatInfo.InvariantInfo);
mycomm.Parameters[ "@recordid "].Value =Int32.Parse( Request.QueryString[ "recordid "]);

myconn.Open();


//try
//{
mycomm.ExecuteNonQuery();
msgbox.Text = "更新成功 ";
msgbox.Visible = true;
//}
//catch (Exception excp)
//{
// System.Diagnostics.Debug.WriteLine(excp.Message);
// msgbox.Text = "更新失败 ";
// msgbox.Visible = true;
//}
//myconn.Close();
}
}

更新出错 , 就是那个datetime类型,我有个插入语句都没问题, 也是类似一样做的,

SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间。
错在哪啊????

[解决办法]
估计是日期格式设置造成的,其实对参数赋值没必要去指定格式,直接用默认不就行了?
再者,如果你这个字段可以设数据库端的默认值getdate(),根本就不用在这里麻烦了
[解决办法]
不是让releasetime取现在时间么 何不update .....releasetime=getdate().....

读书人网 >asp.net

热点推荐