我想在 C# 中显示这些 SQL 消息
我的 C# 代码:
SqlCommand cmd = new SqlCommand();
cmd = con.CreateCommand();
string ab = "";
con.FireInfoMessageEventOnUserErrors = true;
con.InfoMessage += delegate(object obj, SqlInfoMessageEventArgs err)
{
ab = "\n " + err.Message;
message_richTextBox.Text += (ab);
};
cmd.CommandText = @"execute my_sp ";
cmd.ExecuteNonQuery();
con.FireInfoMessageEventOnUserErrors = false;
问题:
我的问题是,我没有像 C# 中的 SQL Server 2008(附图)那样获得所有 SQL 消息
最佳答案
其中一些不是“消息”(即 TDS ERRROR and INFO Messages ),而是行计数。 SSMS 以与信息消息类似的方式在输出中显示它们,但它们不相关。
您可以在 SqlClient 中将它们作为 DML 查询的返回值获取。换句话说, ExecuteNonQuery
返回的 int
:
For UPDATE, INSERT, and DELETE statements, the return value is the number of rows affected by the command.
正确的消息,例如“删除先前的签核”,您已经知道如何获取它们:SqlConnection.InfoMessage
事件,就像在您的代码中一样。
关于c# - 如何在 C# 中接收 SQL 消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28167851/