Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C#
How to stop long running query by clicking on button?
 
Requirement is to display records fetched until the stop button is clicked.
 
example:
 
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.
Posted 13-Feb-13 3:24am
Comments
Chris Reynolds (BNY) at 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: bad
good
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.
  Permalink  
Comments
karteekboddu at 13-Feb-13 9:15am
   
Thankyou,
 
Could you please provide with one example code.
Maciej Los at 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)

  Print Answers RSS
0 OriginalGriff 475
1 Maciej Los 349
2 Richard MacCutchan 220
3 BillWoodruff 219
4 Mathew Soji 160
0 OriginalGriff 8,759
1 Sergey Alexandrovich Kryukov 7,407
2 DamithSL 5,639
3 Maciej Los 5,269
4 Manas Bhardwaj 4,986


Advertise | Privacy | Mobile
Web04 | 2.8.1411028.1 | Last Updated 13 Feb 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

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