Mega Code Archive

 
Categories / VB.Net / ADO Database
 

A method to handle asynchronous completion using callbacks

Imports System Imports System.Data Imports System.Threading Imports System.Data.SqlClient     Public Class MainClass                  Public Shared Sub CallBackHandler(ByVal result As IAsyncResult)             Using cmd As SqlCommand = TryCast(result.AsyncState, SqlCommand)                 Using reader As SqlDataReader = cmd.EndExecuteReader(result)                     SyncLock Console.Out                         While reader.Read                             Console.WriteLine("{0}   {1}   {2}   {3}", reader("ComponentID"), reader("ComponentDesc"), reader("TotalQuantity"), reader("ListPrice"))                         End While                     End SyncLock                 End Using             End Using         End Sub         Public Shared Sub Main()             Using con As New SqlConnection                 con.ConnectionString = "Data Source=.\sqlexpress;Database=AdventureWorks;Integrated Security=SSPI;Asynchronous Processing=true;"                 Using cmd As SqlCommand = con.CreateCommand                     cmd.CommandType = CommandType.StoredProcedure                     cmd.CommandText = "uspGetBillingInfo"                     cmd.Parameters.Add("@StartProductID", SqlDbType.Int).Value = 771                     cmd.Parameters.Add("@CheckDate", SqlDbType.DateTime).Value = DateTime.Parse("07/10/2000")                     con.Open()                     cmd.BeginExecuteReader(AddressOf CallBackHandler, cmd)                 End Using                 con.Close()             End Using         End Sub     End Class