SQL Server(0x80131904):字符串或二进制数据将被截断

And*_*ond 4 c# sql sql-server asp.net

我一直收到这个错误

ErrorSystem.Data.SqlClient.SqlException(0x80131904):字符串或二进制数据将被截断.该语句已终止.在System.Data.SqlClient.SqlConnection.OnError(SqlException异常,布尔breakConnection,动作1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action1个wrapCloseInAction)在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,布尔callerHasConnectionLock,布尔asyncClose)在System.Data.SqlClient.TdsParser. System.Data.SqlClient.SqlCommand.RunExecuteReaderTds中的System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,RunBehavior runBehavior,String resetOptionsString)中的TryRun(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj,Boolean&dataReady) (CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,Boolean async,Int32 timeout,Task&task,Boolean asyncWrite,SqlDataReader ds)at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,String method,TaskCompletionSource 1 completion, Int32 timeout, Task& task, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource1完成,字符串 方法名,布尔sendToPipe,的Int32超时,布尔asyncWrite)在System.Data.SqlClient.SqlCommand.ExecuteNonQuery()在workOrder.btnSubmit_Click(对象发件人,EventArgs e)在H:\的WebSite1\workOrder.aspx.cs:线60个ClientConnectionId: 2b010913-ba9f-4423-b6e1-2e9a038431ce

和谷歌搜索告诉我一个字符串输入太长,无法由数据库处理,但我的所有字段都足够大,我无法弄清楚这一点,

这是我的代码:

  <!--Removed-->
Run Code Online (Sandbox Code Playgroud)

即使我将每个可空字段留空并且仅为其余项目输入1个字符,我也会收到此错误

编辑:表:

<!--Removed-->
Run Code Online (Sandbox Code Playgroud)

编辑:

asp代码:

<!--Removed-->
Run Code Online (Sandbox Code Playgroud)

编辑:删除所有代码以确保安全性,

sid*_*rth 11

当列大小小于文本大小时,会发生此错误.

例如:在数据库中,您有"name varchar(10)"列,并且数据大小大于10.在这种情况下发生错误.

EX:如果我在名称字段中输入"Siddharth Shukla",则会出错.所以我必须将列大小从10改为20.