1 solution

Solution 1

I think many ways you can do that.
1.You can use 2 Backgroundworker instance for execute 2 different procedure.
2. You can use 1 Backgroundworker which will update your progressbar another you can create a thread and run that thread as background thread. That will execute your another procedure.
3. You can use 1 Backgroundworkder for updating your ui element progressbar, another you can execute your another procedure asyncronously using delegate(BeginEndvoke, EndEndvoke).
4. You can also use TaskParallel component for asyncronous procedure execution if you use dotnet framwork 4/4.5.
Note: for parallel/asyncronous stored procedure execution, your connection string need to set connection string property Async = true. Otherwise it will fail.

Sorry! I have no example in my hand at the moment. How to use progress bar i find a url
http://www.dotnetperls.com/progressbar
Just remember that database stored procedure execution is time is no deterministic and when it will finish you did not know. So you can not set any perfect progress bar end result. You need to use trick here.