【问题标题】:Execute SQL scripts consecutively连续执行 SQL 脚本
【发布时间】:2012-01-29 00:26:08
【问题描述】:

我处于需要一个接一个地执行 sql 脚本的情况。仅当前一个脚本的返回值为 0 时才会执行下一个脚本。此外,我需要向我的 ASP.NET 页面提供脚本集合的状态,无论它是已完成、正在进行、取消还是错误。我正在尝试使用 PageAsyncTask 和 Threading 来完成此操作,但这些不会产生输出。欢迎任何建议。

编辑:

我使用放置日志条目的 sql 表填充网格视图。 条目在 gridview 中的处理方式不同,因此我在 gridview 的 RowDataBound 事件中管理它们。每个链接按钮都有一个方法。

protected void gvProgress_RowDataBound(对象发送者,GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { #region 控制分配 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 } } }

【问题讨论】:

  • 请显示一些来源...您尝试了什么?究竟是什么不工作?
  • 然后我的方法在 gridviewrows 上循环获取脚本名称。如果脚本尚未启动,我将启动它,更新时间戳和状态,然后到达方法的结尾。重定向到同一页面,再次调用该方法。

标签: c# asp.net sql


【解决方案1】:

您是否考虑过将它们全部作为交易执行?

【讨论】:

    猜你喜欢
    • 2015-09-12
    • 2018-04-29
    • 1970-01-01
    • 2012-11-23
    • 2020-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多