为什么SqlCommand.ExecuteNonQuery抛出的SqlException包含所有PRINT作为错误?

为什么SqlCommand.ExecuteNonQuery抛出的SqlException包含所有PRINT作为错误?,第1张

为什么SqlCommand.ExecuteNonQuery抛出的SqlException包含所有PRINT作为错误?

不,您无法避免这种行为。它是TdsParser.ThrowExceptionAndWarning()编写方式的结果

特别是这条线

  bool breakConnection = this.AddSqlErrorToCollection(ref temp, ref this._errors) | this.AddSqlErrorToCollection(ref temp, ref this._attentionErrors);        breakConnection |= this.AddSqlErrorToCollection(ref temp, ref this._warnings);        breakConnection |= this.AddSqlErrorToCollection(ref temp, ref this._attentionWarnings);

我的猜测是,无论出于何种原因,对于ExecuteScaler而言,集合_error或_attentionErrors之一为空,而对于ExecuteNonQuery而言则为空。

我敢肯定,如果您戳了一下就可以找出原因。

无论如何,您似乎已经有了解决方法。仅使用SQLExecption.Error中的第一项



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5431777.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存