Gets or sets data request mode.
public bool NonBlocking {get; set;}
'Declaration
Public Property NonBlocking As Boolean
Property Value
If this property is true,
true, and the
FetchAll property is
true also, the data is requested asynchronously.
The following example demonstrates how to use the
NonBlocking property.
static void UseDataTable(DbDataTable myDataTable, DbConnection myConnection) {
myDataTable.Connection = myConnection;
myDataTable.SelectCommand = myConnection.CreateCommand();
myDataTable.SelectCommand.CommandText = "SELECT * FROM Test.Dept";
myDataTable.NonBlocking = true;
myDataTable.Active = true;
while ( true ) {
Thread.Sleep(100);
bool isFetching = !System.Threading.Monitor.TryEnter(myDataTable.SyncRoot, 0);
if (!isFetching)
System.Threading.Monitor.Exit(myDataTable.SyncRoot);
else
break;
Console.Write("Fetch in process");
}
Console.Write("All records are fetched");
}
Private Shared Sub UseDataTable(ByVal myDataTable As DbDataTable, ByVal myConnection As DbConnection)
myDataTable.Connection = myConnection
myDataTable.SelectCommand = myConnection.CreateCommand
myDataTable.SelectCommand.CommandText = "SELECT * FROM Test.Dept"
myDataTable.NonBlocking = True
myDataTable.Active = True
Do While True
Thread.Sleep(100)
If Not Monitor.TryEnter(myDataTable.SyncRoot, 0) Then
Console.Write("All records are fetched")
Return
End If
Monitor.Exit(myDataTable.SyncRoot)
Console.Write("Fetch in process")
Loop
End Sub