Выполнять сценарии SQL последовательно - PullRequest
0 голосов
/ 28 декабря 2011

Я нахожусь в ситуации, когда мне нужно выполнить SQL-скрипт один за другим. Следующий сценарий будет выполняться только в том случае, если возвращаемое значение предыдущего сценария равно 0. Кроме того, мне нужно заполнить свою страницу ASP.NET состояниями коллекции сценариев, независимо от того, завершена она, выполняется, отменена или произошла ошибка. Я пытаюсь сделать это с PageAsyncTask и Threading, но они не выдают результат. Любая рекомендация приветствуется.

Edit:

Я заполняю gridview таблицей sql, в которую я помещаю записи журнала. Записи в gridview обрабатываются по-разному, поэтому я управляю ими в событии RowDataBound сетки. Каждая кнопка ссылки обслуживает метод.

        protected void gvProgress_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                #region CONTROL ASSIGNMENT</p>

<code>            HtmlImage icon = (HtmlImage)e.Row.Cells[0].Controls[1];
            Label scriptname = (Label)e.Row.Cells[0].Controls[3];
            HiddenField status = (HiddenField)e.Row.Cells[0].Controls[5];
            LinkButton details = (LinkButton)e.Row.Cells[4].Controls[1];
            LinkButton pop = (LinkButton)e.Row.Cells[4].Controls[3];
            LinkButton rerun = (LinkButton)e.Row.Cells[4].Controls[5];
            LinkButton cancel = (LinkButton)e.Row.Cells[4].Controls[7];
            LinkButton start = (LinkButton)e.Row.Cells[4].Controls[9];

            #endregion

            #region CONTROLS PREPARATION

            switch (status.Value)
            {
                case "1": //Pending/Not Yet Started

                    icon.Src = "icons/pending.png";
                    details.Visible = false;
                    pop.Visible = false;
                    rerun.Visible = false;
                    cancel.Visible = false;
                    start.Visible = false;

                    break;

                case "2": //In-Progress

                    icon.Src = "icons/on-going.gif";
                    details.Visible = false;
                    pop.Visible = false;
                    cancel.Visible = true;
                    rerun.Visible = false;
                    start.Visible = false;

                    break;

                //did something similar for other statuses
            }
        }
    }
</code>

1 Ответ

0 голосов
/ 15 мая 2012

Рассматривали ли вы выполнение их всех как транзакцию?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...