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

时间:2014-05-10 14:57:01

标签: c# asp.net sql sql-server

我一直收到此错误

  

ErrorSystem.Data.SqlClient.SqlException(0x80131904):字符串或二进制数据将被截断。该语句已终止。在System.Data.SqlClient.SqlConnection.OnError(SqlException异常,Boolean breakConnection,Action 1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action 1 wrapCloseInAction)处于System.Data.SystemClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,Boolean callerHasConnectionLock,Boolean asyncClose) System.Data上的System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,RunBehavior runBehavior,String resetOptionsString)中的.SqlClient.TdsParser.TryRun(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj,Boolean& dataReady) System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean)中的.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,Boolean async,Int32 timeout,Task& task,Boolean asyncWrite,SqlDataReader ds) returnStream,String方法,TaskCompletionSource 1 completion, Int32 timeout, Task& task, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource 1 com pletion,String methodName,Boolean sendToPipe,Int32 timeout,Boolean asyncWrite)atTeat.Data.SqlClient.SqlCommand.ExecuteNonQuery()at workOrder.btnSubmit_Click(Object sender,EventArgs e)in h:\ WebSite1 \ workOrder.aspx.cs:line 60 ClientConnectionId:2b010913-ba9f-4423-b6e1-2e9a038431ce

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

这是我的代码:

  <!--Removed-->

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

编辑: 表:

<!--Removed-->

编辑:

asp代码:

<!--Removed-->

编辑: 删除了所有安全代码,

1 个答案:

答案 0 :(得分:11)

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

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

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