书中 代码 :
{
SqlConnection mySqlConnection =
new SqlConnection("server=localhost;database=Northwind;uid=sa;pwd=");
mySqlConnection.StateChange +=
new StateChangeEventHandler(StateChangeHandler);
this.Response.Write("Calling mySqlConnection.Open()");
mySqlConnection.Open();
// close mySqlConnection, causing the State to change from Open
// to Closed
this.Response.Write("Calling mySqlConnection.Close()");
mySqlConnection.Close();
}
public static void StateChangeHandler(
object mySender, StateChangeEventArgs myEvent
)
{
HttpContext.Current.Response.Write(
"<br>mySqlConnection State has changed from " +
myEvent.OriginalState + " to " +
myEvent.CurrentState
);
}
会显示Calling mySqlConnection.Open()
mySqlConnection State has changed from Closed to Open
Calling mySqlConnection.Close()
mySqlConnection State has changed from Open to Closed ====== 4 句
而 托拽了 Connection后 做了2个 按钮 一个 start 一个 close ,在Vs双击调用Conn的statechange事件,却只显示了 前3 句 ,mySqlConnection State has changed from Open to Closed 没有显示
代码 =============
private void Button1_Click(object sender, System.EventArgs e)
{
this.Response.Write("Calling mySqlConnection.Open()");
mySqlConnection.Open ();
}
private void Button2_Click(object sender, System.EventArgs e)
{
this.Response.Write("Calling mySqlConnection.Close()");
mySqlConnection.Close();
}
private void mySqlConnection_StateChange(object sender, System.Data.StateChangeEventArgs e)
{
this.Response.Write("<br>mySqlConnection State has changed from " +
e.OriginalState + " to " +
e.CurrentState)
;
}
check your
mySqlConnection.StateChange +=
new StateChangeEventHandler(StateChangeHandler);
的位置