Hai*_*ihi 15 c# sql ado.net sqlcommand
我正在以这种方式执行命令:
var Command = new SqlCommand(cmdText, Connection, tr);
Command.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)
在命令中有一个错误,但.NET不会抛出任何错误消息.我怎么知道命令没有正确执行,以及如何获得异常?
Mar*_*ell 18
.NET确实引发了错误消息...... 如果严重性为16或更高(因为它抛出异常) - 消息将在异常中.Message
.如果您使用RAISERROR
较低的严重性(或使用PRINT
),则必须InfoMessage
在连接上订阅该事件.
Kev*_*vin 14
如果您的错误严重性为16或更高,则只能在C#中获得异常.如果您使用的是PRINT,则不会在.NET中出现异常.
如果您可以编辑raise错误代码,这将导致C#中的SqlException:
RAISERROR('Some error message', 16, 1)
Run Code Online (Sandbox Code Playgroud)
然后,您可以获取SqlException.Errors集合中的每个单独错误.
只是一个注意事项 - RAISERROR
如果你RETURN
之后不直接,SQL Server将继续运行命令.如果您不返回,则可能会收到多个错误.
归档时间: |
|
查看次数: |
33032 次 |
最近记录: |