Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using SqlCommand to execute a non-query, can you get to text normally posted to "Messages"?

When using SqlCommand to execute a non-query (such as a database restore), is it possible to programatically get the text that would normally be posted to the "Messages" tab if using the Management Studio? And if so how?

like image 349
Tomislav Mutak Avatar asked Mar 19 '09 19:03

Tomislav Mutak


1 Answers

Yes, there's an event hook on the SqlCommand object called SqlInfoMessage, which you can hook into:

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

_con.InfoMessage += new SqlInfoMessageEventHandler(_con_InfoMessage);

The event handler will look like this:

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

The "e.Message" is the message printed out to the message window in SQL Server Mgmt Studio.

Marc

like image 90
marc_s Avatar answered Nov 16 '22 01:11

marc_s