Click here to Skip to main content
14,455,910 members
Rate this:
Please Sign up or sign in to vote.
See more:
How to stop long running query by clicking on button?

Requirement is to display records fetched until the stop button is clicked.


if i have table with 1000 rows i want to terminate execution in middle by clicking on stop button if it fetched only 500 records at that time when i click on stop button it should display 500 records only.

Note:in my code i was using datareader to fetch records from database and binding to datatable.

please suggest a way how to do it using timer or threading concept.
Chris Reynolds (UK) 13-Feb-13 9:10am
It is worth understanding why you may want to stop the fetch early. Depending on the nature of the query then all of the hard work may have been done before you start retrieving rows as the actual building of the query can take the most time if there are complex joins and slection criteria involved. The actual retrieval of rows may be only a small part of your total time to populate. Have you tried any ideas out?

1 solution

Rate this:
Please Sign up or sign in to vote.

Solution 1

You can cancel the query by using SQLCommand.Cancel method[^] But remember, the command must be running in another thread, otherwise Cancel method will be called after the command is finished.

Another method is to specify a CommandTimeout to cancel query executing when it runs over a specified time limit.
karteekboddu 13-Feb-13 9:15am

Could you please provide with one example code.
Maciej Los 13-Feb-13 9:45am
Just fallow the link and you'll find an example code.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100