0) Change your stored proc to change the query based on whether the specified date range results in a single day, or a range of days.
1) Adjust your query so that it's built dynamically, and it either queries for a range of dates, or for a single date, depending on how the specified date range is specified
2) Set the appropriate date column as an index (if it isn't already)
3) Call this web service method with a single date, like so:
DateTime currentDate = calStart.Selecteddate.Value;
do
{
webservice.GetSparBatteriesReport1Async(currentDate, currentDate);
currentDate.AddDays(1);
} (while currentDate <= calEnd.SelectedDate.Value);
Of course, you'll have to take steps to handle the asynchronous nature of calling a web service, like handling the
AsyncComplete
event (or whatever it's called).