“/icmeinsert”应用程序中的服务器错误。
--------------------------------------------------------------------------------发生数据类型 tinyint 的算术溢出错误,值 = 2008。
语句已终止。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 发生数据类型 tinyint 的算术溢出错误,值 = 2008。
语句已终止。源错误: 
行 79:             {
行 80:                 PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
行 81:                 int val = cmd.ExecuteNonQuery();
行 82:                 cmd.Parameters.Clear();
行 83:                 return val;
 源文件: e:\ICME1\icmeinsert\App_Code\SQLHelper.cs    行: 81 堆栈跟踪: 
[SqlException (0x80131904): 发生数据类型 tinyint 的算术溢出错误,值 = 2008。
语句已终止。]
   System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +95
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +82
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +346
   System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +3244
   System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) +272
   System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +367
   System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +149
   SqlHelper.ExecuteNonQuery(String connectionString, CommandType cmdType, String cmdText, SqlParameter[] commandParameters) in e:\ICME1\icmeinsert\App_Code\SQLHelper.cs:81
   project.opProject(String projid, String projname, String organunit, String speaker, String jishuzhiwu, Single score, Int32 period, String study_dt, String telephone, String re, String cme_year, Int16 opType, Int64 id) in e:\ICME1\icmeinsert\App_Code\project.cs:208
   project_newProject.BtnSubmit_Click(Object sender, EventArgs e) in e:\ICME1\icmeinsert\project\newProject.aspx.cs:52
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +96
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +116
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +31
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +32
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +72
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3838 
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42 

解决方案 »

  1.   

    tinyint 的值从 0 到 255 的整数,你给2008肯定错误了,把数据库字段类型改为int即可
      

  2.   

    看错误是SQL语句执行错误。如果是UPDATE的SQL,请检查一下你的数据库表里某个字段是否是tinyint,而你的更新后的值已经超长了。
      

  3.   


    还有
    行 80:                PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters); 
    行 81:                int val = cmd.ExecuteNonQuery(); 
    行 82:                cmd.Parameters.Clear(); 
                         conn.Close();//用完conn最好马上就关了
    行 83:                return val; 
      

  4.   

    估计是要保存年份 改成short足够了