SqlConnection: info message event handler
using System;
using System.Data;
using System.Data.SqlClient;
class SqlDemo {
static void Main(){
string connString = "server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI";
SqlConnection cn = new SqlConnection(connString);
cn.InfoMessage += new SqlInfoMessageEventHandler(CnInfoMessage);
cn.StateChange += new StateChangeEventHandler(CnStateChange);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT TOP 2 Id FROM Employee";
cmd.Connection = cn;
try
{
cn.Open();
SqlDataReader dr = cmd.ExecuteReader();
while(dr.Read())
{
Console.WriteLine(dr.GetInt32(0));
}
dr.Close();
cmd.CommandText = "PRINT 'Get Id for all Employees'";
cmd.ExecuteNonQuery();
}
catch(SqlException ex)
{
Console.WriteLine(ex.Message);
}
finally
{
cn.Close();
}
}
static void CnInfoMessage(object sender, SqlInfoMessageEventArgs ev)
{
foreach (SqlError err in ev.Errors)
{
Console.WriteLine("Entering InfoMessage Event Handler");
Console.WriteLine("Source- " + err.Source);
Console.WriteLine("State- " + err.State);
Console.WriteLine("Number- " + err.Number);
Console.WriteLine("Procedure- " + err.Procedure);
Console.WriteLine("Server- " + err.Server);
Console.WriteLine("Message- " + err.Message);
Console.WriteLine("Exiting InfoMessage Event Handler");
}
}
static void CnStateChange(object sender, StateChangeEventArgs ev)
{
Console.WriteLine("Entering StateChange EventHandler");
Console.WriteLine("Sender = "+ sender.ToString());
Console.WriteLine("Original State = "+ ev.OriginalState.ToString());
Console.WriteLine("Current State = "+ ev.CurrentState.ToString());
Console.WriteLine("Exiting StateChange EventHandler");
}
}
Related examples in the same category