多年后,Int16的价值要么太大,要么太小

时间:2016-11-16 04:55:36

标签: c# asp.net visual-studio deployment iis-7

我的一个应用程序自2005年开始运行。现在它提供了下面提到的错误。

我不知道发生了什么。有没有人面对这样的问题?

Server Error in '/' Application.
Value was either too large or too small for an Int16.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 
Exception Details: System.Exception: Value was either too large or too small for an Int16.
Source Error: 
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace: 
[Exception: Value was either too large or too small for an Int16.]
   Attach_DL.Generatekey() +121
   Attach_BL.GenerateKey() +12
   Picture.AddAttachments(String _attachpath, String _attachpathDB) +289
   Picture.Btnsave_Click(Object sender, EventArgs e) +1416
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
Version Information: Microsoft .NET Framework Version:2.0.50727.4927; ASP.NET Version:2.0.50727.4927

2 个答案:

答案 0 :(得分:1)

怀疑结果包含Int16无法保存的较大值。所有类型的整数都具有不同的后续存储容量范围

Int 16 -- (-32768 to +32787)

答案 1 :(得分:0)

自2005年以来,您的字段可能会增加,现在值超过32787。

EF基于数据库类型生成您的字段数字(5)可能会给int16,即使它可以容纳99999