У меня есть глупая проблема, но я застрял. Я выполняю хранимую процедуру из моего кода процедура занимает время, поэтому для этого я показываю индикатор выполнения, который показывает ход выполнения, но хранимая процедура выполняется, и нет ничего, к чему я увеличиваю значение индикатора выполнения.
Это мой код
void btnYes_Click(object sender, EventArgs e)
{
if (DialogResult.Yes == MessageBox.Show("Are you sure", "", MessageBoxButtons.YesNo))
{
try
{
dbDataEntities db = new dbDataEntities();
string myquery = "DECLARE @return_value int EXEC @return_value = [dbo].[ssspUpdateMarksOfStudent] SELECT 'Return Value' = @return_value";
//progressbar1.Maximum = 5000;
//progressbar1.value = ?; // how could i increment it
//
db.Database.ExecuteSqlCommand("myquery");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
Также я пытаюсь сделать это с помощью секундомера, установив текущее значение, которое не увеличилось при выполнении процедуры
Stopwatch st = new Stopwatch();
st.Start();
progressbar1.Maximum = 5000;
progressbar1.Value = Convert.ToInt16(st.Elapsed.Seconds);
//My stored procedure call
st.Stop();
так это можно сделать только с помощью background worker
или есть ли другой способ сделать это?
Я новичок в программировании, поэтому не использовал background worker
, поэтому я пытаюсь найти альтернативу.
Прошу предложить. Спасибо заранее.