2007年12月15日星期六

将截断字符串或二进制数据。\r\n语句已终止

哈哈 ,周五的晚上,明天周末,有些松懈
这是今天晚上唯一的成果
执行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)}

4 条评论:

  1. 这问题我应该怎么解决

    回复删除
  2. 百度到你这里来了,我的报错也和你一个样,但情况不可能是数据库里长度不够吧,因为数据长度很小,不超过10个字,varchar(50)铁定够用的,天啊.....

    回复删除
  3. 也可能在定义SqlParameter时长度不够,比如 new SqlParameter(PARM_TYPENAME, SqlDbType.VarChar,50)不知道你用到没,我只是猜想

    回复删除