2011-12-28 13 views
0

SQLスクリプトを順番に実行する必要がある状況です。次のスクリプトは、前のスクリプトの戻り値が0の場合にのみ実行されます。また、完了したか、進行中か、キャンセルされたか、エラーが発生した場合でも、スクリプトコレクションのステータスをASP.NETページに渡す必要があります。私はPageAsyncTaskとThreadingでこれを達成しようとしていますが、出力を生成しません。いかなる勧告も大歓迎です。SQLスクリプトを連続して実行する

編集:

私はログエントリを置き、SQLテーブルとGridViewコントロールを移入します。 エントリは、グリッドビューのRowDataBoundイベントでそれらを管理するので、グリッドビューでは扱いが異なります。各リンクボタンはメソッドを提供します。

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

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 } } }

+2

ソースを表示してください...何を試しましたか?何がうまくいきませんか? – Yahia

+0

私のメソッドは、スクリプト名を取得しているgridviewrowsでループします。スクリプトがまだ開始されていない場合は、開始し、タイムスタンプとステータスを更新し、メソッドの最後に到達します。同じページにリダイレクトし、メソッドを再度呼び出します。 –

答えて

0

あなたがトランザクションとしてそれらすべてを実行すると考えたことがありますか?

関連する問題