'Declaration Public Sub EndOpen( _ ByVal result As IAsyncResult _ )
public void EndOpen( IAsyncResult result )
Parameters
- result
- The System.IAsyncResult returned from BeginOpen.
'Declaration Public Sub EndOpen( _ ByVal result As IAsyncResult _ )
public void EndOpen( IAsyncResult result )
BeginOpen method enables you to open a connection to server without having current thread blocked. In other words, your program can continue execution while the connection is establishing so you do not have to wait for it.
To start opening a connection, you have to call BeginOpen method, which in turn invokes appropriate actions in another thread. Return value of this method must be assigned to System.IAsyncResult object. After executing this method program flow continues.
When you are ready to use the connection, call EndOpen. If at the moment you call this method the negotiation process has not yet been finished, application stops and waits till the function returns which means that the connection is open.
Refer to "Asynchronous Query Execution" article for detailed information.
public void AsyncOpen(DbConnectionBase myConnection) { IAsyncResult myAsyncResult = myConnection.BeginOpen(null, null); DbCommandBase myCommand = (DbCommandBase)myConnection.CreateCommand(); myCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values('100', 'DEVELOPMENT')"; //some operations here myConnection.EndOpen(myAsyncResult); try { myCommand.ExecuteNonQuery(); } finally { myConnection.Close(); } }
Public Sub AsyncOpen(ByVal myConnection As DbConnectionBase) Dim myAsyncResult As IAsyncResult = myConnection.BeginOpen(Nothing, Nothing) Dim myCommand As DbCommandBase = myConnection.CreateCommand() myCommand.CommandText = "INSERT INTO Dept(DeptNo, DName) Values('110', 'QA')" ' some operations here myConnection.EndOpen(myAsyncResult) Try myCommand.ExecuteNonQuery() Finally myConnection.Close() End Try End Sub
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2