如何在SQL查询中区分错误消息和PRINT?
void myConnection_InfoMessage(object sender, SqlInfoMessageEventArgs e)
{
if (e.Errors.Count > 0)
{
}
}
它将 PRINT 语句视为错误。
如何区分两者?
对于每个错误(SqlError
对象),可以检查 Class
属性:
严重性级别为 10 或更低的消息是信息性的,指示由用户输入的信息错误导致的问题。从 11 到 16 的严重性级别由用户生成,可由用户更正。严重性级别从 17 到 25 表示软件或硬件错误。当发生级别 17、18 或 19 错误时,您可以继续工作,尽管您可能无法执行特定语句。
PRINT
的Class
为 0,但通常您应该(如其所说)将 10 或更低视为"信息"而不是真正的错误。