Skip to Content
ADO.NET 3.5 Cookbook, 2nd Edition
book

ADO.NET 3.5 Cookbook, 2nd Edition

by Bill Hamilton
March 2008
Intermediate to advanced
982 pages
22h 43m
English
O'Reilly Media, Inc.
Content preview from ADO.NET 3.5 Cookbook, 2nd Edition

10.3. Executing Simultaneous SQL Statements Asynchronously

Problem

You need to execute multiple SQL statements simultaneously and process results when each statement completes or once all of the statements have completed.

Solution

Use the WaitAny() or the WaitAll() method of the WaitHandle class monitor. Both solutions are shown here.

The first solution creates an array of 10 Command objects that each execute a T-SQL WAITFOR statement that instructs SQL Server to wait for a random number of seconds between 1 and 10. The BeginExecuteNonQuery() method of the Command class is used to asynchronously execute each command in the array. The WaitHandle object for each Command object is retrieved using the AsyncWaitHandle property of the IAsyncResult returned by the BeginExecuteNonQuery() method. Each WaitHandle object is added to an array of WaitHandle objects corresponding to the Command array.

A loop is set up to process each of the 10 commands as they complete. Each iteration of the loop executes the WaitAny() method of the static WaitHandle class—the WaitAny() method takes a WaitHandle array argument of objects to wait to complete. When any command in the array completes, the EndExecuteNonQuery() method of that command is called to complete the command execution. The number of the command in the array and the number of records affected (0 in all cases for this example) are output to the console. Finally, the connection for the command is closed. The loop ends when all Command objects in ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

ADO.NET Cookbook

ADO.NET Cookbook

Bill Hamilton
C# 5.0 Unleashed

C# 5.0 Unleashed

Bart De Smet

Publisher Resources

ISBN: 9780596101404Errata Page