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
}
}
}
ソースを表示してください...何を試しましたか?何がうまくいきませんか? – Yahia
私のメソッドは、スクリプト名を取得しているgridviewrowsでループします。スクリプトがまだ開始されていない場合は、開始し、タイムスタンプとステータスを更新し、メソッドの最後に到達します。同じページにリダイレクトし、メソッドを再度呼び出します。 –