.net - 使用 SqlCommand 执行非查询,您可以获取通常发布到 "Messages"的文本吗?

标签 .net sql sql-server

当使用 SqlCommand 执行非查询(例如数据库恢复)时,如果使用 Management Studio,是否可以以编程方式获取通常发布到“消息”选项卡的文本?如果是的话怎么办?

最佳答案

是的,SqlCommand 对象上有一个名为 SqlInfoMessage 的事件 Hook ,您可以 Hook 到其中:

SqlConnection _con = new SqlConnection("server=.;database=Northwindintegrated Security=SSPI;");

_con.InfoMessage += new SqlInfoMessageEventHandler(_con_InfoMessage);

事件处理程序将如下所示:

static void _con_InfoMessage(object sender, SqlInfoMessageEventArgs e)
{
    string myMsg = e.Message;            
}

“e.Message”是打印到 SQL Server Mgmt Studio 消息窗口的消息。

马克

关于.net - 使用 SqlCommand 执行非查询,您可以获取通常发布到 "Messages"的文本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/663716/

相关文章:

sql-server - 如何使用 ssis 转换一组 xls 2 制表符分隔的文件?

.net - 您可以在 .NET 应用程序中对一页进行 SSL 吗?

c# - 在 C# 中管理无线网络连接

c# - Process.Start(url) 失败

mysql - 如何判断 mySql 事件是否成功?

sql-server - OWIN 无效的 URI : The Uri String is too long

.net - 对类型 '(, )' 的引用声称它在 'mscorlib' 中定义,但找不到

sql - 将 sql 查询导出到 csv 的 Perl 脚本

sql - 如何在 PIVOT SQL 查询的日期过滤器之间添加

sql-server - 用户定义的数据类型和#temp 表