<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FDatabase_ADO.net%2FSQL_Events</id>
		<title>Csharp/C Sharp/Database ADO.net/SQL Events - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FDatabase_ADO.net%2FSQL_Events"/>
		<link rel="alternate" type="text/html" href="http://www.nfex.ru/index.php?title=Csharp/C_Sharp/Database_ADO.net/SQL_Events&amp;action=history"/>
		<updated>2026-04-13T20:28:13Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.nfex.ru/index.php?title=Csharp/C_Sharp/Database_ADO.net/SQL_Events&amp;diff=971&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.nfex.ru/index.php?title=Csharp/C_Sharp/Database_ADO.net/SQL_Events&amp;diff=971&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:19Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.nfex.ru/index.php?title=Csharp/C_Sharp/Database_ADO.net/SQL_Events&amp;diff=972&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.nfex.ru/index.php?title=Csharp/C_Sharp/Database_ADO.net/SQL_Events&amp;diff=972&amp;oldid=prev"/>
				<updated>2010-05-26T11:42:33Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==How to use the InfoMessage event==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
class InfoMessage&lt;br /&gt;
{&lt;br /&gt;
  public static void InfoMessageHandler(object mySender, SqlInfoMessageEventArgs myEvent)&lt;br /&gt;
  {&lt;br /&gt;
    Console.WriteLine(&amp;quot;The following message was produced:\n&amp;quot; + myEvent.Errors[0]);&lt;br /&gt;
  }&lt;br /&gt;
  public static void Main(){&lt;br /&gt;
    SqlConnection mySqlConnection = new SqlConnection(&amp;quot;server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI;&amp;quot;);&lt;br /&gt;
    mySqlConnection.InfoMessage += new SqlInfoMessageEventHandler(InfoMessageHandler);&lt;br /&gt;
    mySqlConnection.Open();&lt;br /&gt;
    SqlCommand mySqlCommand = mySqlConnection.CreateCommand();&lt;br /&gt;
    mySqlCommand.rumandText = &amp;quot;PRINT &amp;quot;This is the message from the PRINT statement&amp;quot;&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
    mySqlCommand.ExecuteNonQuery();&lt;br /&gt;
    mySqlCommand.rumandText = &amp;quot;RAISERROR(&amp;quot;This is the message from the RAISERROR statement&amp;quot;, 10, 1)&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
    mySqlCommand.ExecuteNonQuery();&lt;br /&gt;
    mySqlConnection.Close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==How to use the StateChange event==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
class StateChange&lt;br /&gt;
{&lt;br /&gt;
  public static void StateChangeHandler(object mySender, StateChangeEventArgs myEvent)&lt;br /&gt;
  {&lt;br /&gt;
    Console.WriteLine(&amp;quot;mySqlConnection State has changed from &amp;quot;+myEvent.OriginalState + &amp;quot;to &amp;quot;+myEvent.CurrentState);&lt;br /&gt;
  }&lt;br /&gt;
  public static void Main(){&lt;br /&gt;
    SqlConnection mySqlConnection =new SqlConnection(&amp;quot;server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI;&amp;quot;);&lt;br /&gt;
    mySqlConnection.StateChange +=new StateChangeEventHandler(StateChangeHandler);&lt;br /&gt;
    Console.WriteLine(&amp;quot;Calling mySqlConnection.Open()&amp;quot;);&lt;br /&gt;
    mySqlConnection.Open();&lt;br /&gt;
    Console.WriteLine(&amp;quot;Calling mySqlConnection.Close()&amp;quot;);&lt;br /&gt;
    mySqlConnection.Close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==On row updating and updated event==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
   class SqlDemo {&lt;br /&gt;
      static void Main(){&lt;br /&gt;
         string connString = &amp;quot;server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI&amp;quot;;&lt;br /&gt;
         SqlConnection cn = new SqlConnection(connString);&lt;br /&gt;
         try&lt;br /&gt;
         {&lt;br /&gt;
            cn.Open();&lt;br /&gt;
            SqlDataAdapter da = new SqlDataAdapter(&amp;quot;SELECT * FROM Employee&amp;quot;, cn);&lt;br /&gt;
     &lt;br /&gt;
            SqlCommandBuilder cb = new SqlCommandBuilder(da);&lt;br /&gt;
            DataSet ds = new DataSet();&lt;br /&gt;
            da.Fill(ds, 0, 1, &amp;quot;Employee&amp;quot;);&lt;br /&gt;
            da.RowUpdating += new SqlRowUpdatingEventHandler(OnRowUpdating);&lt;br /&gt;
            da.RowUpdated += new SqlRowUpdatedEventHandler(OnRowUpdated);&lt;br /&gt;
            DataTable dt = ds.Tables[&amp;quot;Employee&amp;quot;];&lt;br /&gt;
            dt.Rows[0][1] = &amp;quot;T&amp;quot;;&lt;br /&gt;
            da.Update(ds, &amp;quot;Employee&amp;quot;);&lt;br /&gt;
            da.RowUpdating -= new SqlRowUpdatingEventHandler(OnRowUpdating);&lt;br /&gt;
            da.RowUpdated -= new SqlRowUpdatedEventHandler(OnRowUpdated);&lt;br /&gt;
 &lt;br /&gt;
         } catch (SqlException ex) {&lt;br /&gt;
            Console.WriteLine(ex.Message);&lt;br /&gt;
         }&lt;br /&gt;
         finally&lt;br /&gt;
         {&lt;br /&gt;
            cn.Close();&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      static void OnRowUpdating(object sender, SqlRowUpdatingEventArgs e) &lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(&amp;quot;OnRowUpdating event&amp;quot;);&lt;br /&gt;
         if (e.Status != UpdateStatus.Continue) &lt;br /&gt;
            Console.WriteLine(&amp;quot;RowStatus = &amp;quot; + e.Status.ToString());&lt;br /&gt;
      } &lt;br /&gt;
      static void OnRowUpdated(object sender, SqlRowUpdatedEventArgs e) &lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(&amp;quot;OnRowUpdating event&amp;quot;);&lt;br /&gt;
         if (e.Status != UpdateStatus.Continue) &lt;br /&gt;
            Console.WriteLine(&amp;quot;RowStatus = &amp;quot; + e.Status.ToString());&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Register two SqlConnection change events==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
   class SqlDemo {&lt;br /&gt;
      static void Main(){&lt;br /&gt;
         string connString = &amp;quot;server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI&amp;quot;;&lt;br /&gt;
         SqlConnection cn = new SqlConnection(connString);&lt;br /&gt;
         cn.StateChange += new StateChangeEventHandler(CnStateChange);&lt;br /&gt;
         cn.StateChange += new StateChangeEventHandler(CnStateChange2);&lt;br /&gt;
      &lt;br /&gt;
         SqlCommand cmd = new SqlCommand();&lt;br /&gt;
         cmd.rumandText = &amp;quot;SELECT LastName, FirstName FROM Employee&amp;quot;;&lt;br /&gt;
         cmd.Connection = cn;&lt;br /&gt;
         try&lt;br /&gt;
         {&lt;br /&gt;
            cn.Open();&lt;br /&gt;
            SqlDataReader dr = cmd.ExecuteReader();&lt;br /&gt;
            while(dr.Read())&lt;br /&gt;
            {&lt;br /&gt;
               Console.WriteLine(dr.GetString(0) + &amp;quot;-&amp;quot; + dr.GetString(1));    &lt;br /&gt;
            }&lt;br /&gt;
         }&lt;br /&gt;
         catch(SqlException ex)&lt;br /&gt;
         {&lt;br /&gt;
            Console.WriteLine (ex.Message);&lt;br /&gt;
         }&lt;br /&gt;
         finally&lt;br /&gt;
         {&lt;br /&gt;
            cn.Close();&lt;br /&gt;
         }   &lt;br /&gt;
      }&lt;br /&gt;
      static void CnStateChange2(object sender, StateChangeEventArgs ev)&lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(&amp;quot;------------------------------&amp;quot;);&lt;br /&gt;
         Console.WriteLine(&amp;quot;Entering Second Statechange EventHandler&amp;quot;);&lt;br /&gt;
         Console.WriteLine(&amp;quot;Sender = &amp;quot; + sender.ToString());  &lt;br /&gt;
         Console.WriteLine(&amp;quot;Original State = &amp;quot; + ev.OriginalState.ToString());&lt;br /&gt;
         Console.WriteLine(&amp;quot;Current State = &amp;quot; + ev.CurrentState.ToString());    &lt;br /&gt;
         Console.WriteLine(&amp;quot;Exiting Second StateChange EventHandler&amp;quot;);&lt;br /&gt;
         Console.WriteLine(&amp;quot;------------------------------&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      static void CnStateChange(object sender, StateChangeEventArgs ev)&lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(&amp;quot;------------------------------&amp;quot;);&lt;br /&gt;
         Console.WriteLine(&amp;quot;Entering StateChange EventHandler&amp;quot;);&lt;br /&gt;
         Console.WriteLine(&amp;quot;Sender = &amp;quot;+ sender.ToString());&lt;br /&gt;
         Console.WriteLine(&amp;quot;Original State = &amp;quot;+ ev.OriginalState.ToString());&lt;br /&gt;
         Console.WriteLine(&amp;quot;Current State = &amp;quot;+ ev.CurrentState.ToString()); &lt;br /&gt;
         Console.WriteLine(&amp;quot;Exiting StateChange EventHandler&amp;quot;);&lt;br /&gt;
         Console.WriteLine(&amp;quot;------------------------------&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>