使用SqlCommand执行非查询,您是否可以获得通常发布到“Messages”的文本?

时间:2009-03-19 19:38:24

标签: .net sql sql-server

使用SqlCommand执行非查询(例如数据库还原)时,如果使用Management Studio,是否可以以编程方式获取通常会发布到“Messages”选项卡的文本?如果是这样的话?

1 个答案:

答案 0 :(得分:24)

是的,SqlCommand对象上有一个名为SqlInfoMessage的事件挂钩,您可以将其挂钩:

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中消息窗口的消息。

马克