哈哈 ,周五的晚上,明天周末,有些松懈
这是今天晚上唯一的成果
执行SqlTranaction成功了
下面的错误不是执行事务的关系
见到 “将截断字符串或二进制数据。\r\n语句已终止。”的错误信息开始有些不知所措,在网上查,原来是超了数据库字段长度所致,调整数据库字段长度,果然如此。
好长时间不用vs.net刚开始都不知道怎么查看运行中变量的信息,突然想起来在 即时窗口中 输入 “ ? 变量名” 然后回车,会输出当前这个变量的值
哈哈 ,还是有点印象的嘛。
? ex
{"将截断字符串或二进制数据。\r\n语句已终止。"}
[System.Data.SqlClient.SqlException]: {"将截断字符串或二进制数据。\r\n语句已终止。"}
Data: {System.Collections.ListDictionaryInternal}
HelpLink: null
InnerException: null
Message: "将截断字符串或二进制数据。\r\n语句已终止。"
Source: ".Net SqlClient Data Provider"
StackTrace: " 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)\r\n 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)\r\n 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)\r\n 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)\r\n 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)\r\n 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQu
ery(DbAsyncResult result, String methodName, Boolean sendToPipe)\r\n 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()\r\n 在 psms.DBUtility.SqlHelper.ExecuteNonQuery(SqlTransaction trans, CommandType cmdType, String cmdText, SqlParameter[] commandParameters) 位置 D:\\network\\psms\\DBUtility\\SQLHelper.cs:行号 91\r\n 在 psms.SQLServerDAL.InTable.insertInTable(InTableInfo data) 位置 D:\\network\\psms\\SQLServerDAL\\InTable.cs:行号 152"
TargetSite: {Void OnError(System.Data.SqlClient.SqlException, Boolean)}
这问题我应该怎么解决
回复删除调整数据库字段长度
回复删除百度到你这里来了,我的报错也和你一个样,但情况不可能是数据库里长度不够吧,因为数据长度很小,不超过10个字,varchar(50)铁定够用的,天啊.....
回复删除也可能在定义SqlParameter时长度不够,比如 new SqlParameter(PARM_TYPENAME, SqlDbType.VarChar,50)不知道你用到没,我只是猜想
回复删除