| Previous | Home | Next |
Both the OLE DB and the SQL Server Connection objects provide two events:
- StateChange
- InfoMessage.
StateChange: The StateChange event fires whenever the state of the Connection object changes. The event passes a StateChangeEventArgs to its handler, which, inturn, has two properties: OriginalState and CurrentState. The possible values for
InfoMessage: The InfoMessage event is triggered when the data source returns warnings. The information passed to the event handler depends on the Data Provider.
OriginalState and CurrentState are:
| Connection States | Meaning |
| Broken | TheConnecton is open, but not functional. It maybe closed and reopened |
| Closed | The Connection is closed |
| Connecting | The Connection is in the process of connecting, but has not yet been |
| Executing | Executing the command |
| Fetching | Retrieving the data |
| Open | Open the connection |
To display the previous and current Connection states for each of the two Connection objects: Select OleDbConnection1 in the Class Name combobox of the editor and the StateChange event in the Method Name combobox.
private void oleDbConnection1_StateChange
(object sender,StateChangeEventArgs e)
{
string s;
s = "The Connection State is changing from "
+ e.OriginalState.ToString() +
" to " + e.CurrentState.ToString();
MessageBox.Show(s);
}
private void SqlDbConnection1_StateChange
(object sender, StateChangeEventArgs e)
{
string s1;
s1 = "The Connection State is changing from " +
e.OriginalState.ToString() +
" to " + e.CurrentState.ToString();
MessageBox.Show(s1);
}
Add the code to connect the event handlers to the:
ConnectionProperties sub:
this.oleDbConnection1.StateChange +=
newSystem.Data.StateChangeEventHandler
(this.oleDbConnection1_StateChange);
this.SqlDbConnection1.StateChange +=
new System.Data.StateChangeEventHandler
(this.SqlDbConnection1_StateChange);
Save and run the program. Change the Connection Type and then click the Test button.
The application displays two MessageBoxes as the Connection is opened and closed.
| Previous | Home | Next |