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"); } }