PreviousNext
Help > 流程 > 流程輸出 > 資料庫
資料庫

流程流轉過程中需要更新外部資料庫,可通過以下方法實現:

  資料庫整合器

  SQL外掛程式

  C#外掛程式

資料庫整合器

使用資料庫整合器,無需書寫程式碼,通過設定,即可更新外部資料庫。

資料庫整合器,支援更新、插入、刪除資料,也支援明細表資料操作。

使用前需要先新增目標資料庫為資料來源。

  配置

  更新、刪除配置

SQL外掛程式

可以在目標資料庫上運行動態產生的SQL語法。

使用asp.net格式書寫動態SQL,執行時先解析asp.net產生SQL語句,然後在目標資料庫上運行。

UPDATE Purchase SET State='核准' WHERE SN='<%=Context.Current.FormDataSet["BPMPurchase.PurchaseSN"]%>'


 

  更新明細表

使用asp.net的迴圈語句即可更新明細表。

<%

foreach(FlowDataRow row in Context.Current.FormDataSet.Tables["PurchaseDetail"].Rows)

{

    String sql = String.Format("UPDATE ERPProduct SET Stock=Stock+{0} WHERE ProdCode='{1}';",row["Qty"],row["ProdCode"]);

    Response.Write(sql);

}

%>


 

C#外掛程式

使用C#外掛程式運行SQL語句,可以更新任何類型的外部資料庫。

using(SqlConnection cn = new SqlConnection())

{

    cn.ConnectionString = "...";

    cn.Open();

    using(SqlCommand cmd = new SqlCommand())

    {

         cmd.Connection = cn;

         cmd.CommandText = "UPDATE Purchase SET State='核准' WHERE SN=@SN";

         cmd.Parameters.Add("@SN", SqlDbType.NVarChar).Value = Context.Current.FormDataSet["BPMPurchase.PurchaseSN"];

         cmd.ExecuteNonQuery();

    }

}

  庫引用

使用C#更新資料庫時,需要在流程屬性中引用相應的庫。

  資料來源

資料來源更新推薦使用SQL外掛程式,如果用C#外掛程式,可用如下方法簡化資料庫連接。

string sql = String.Format("UPDATE Purchase SET State='核准' WHERE SN='{0}'", Context.Current.FormDataSet["BPMPurchase.PurchaseSN"]);

DataSourceManager.ExecuteNonQuery("ERP",sql);

  BPM資料庫

BPM資料庫更新推薦使用SQL外掛程式,如果用C#外掛程式,可用如下方法簡化資料庫連接。

string sql = String.Format("UPDATE Purchase SET State='核准' WHERE SN='{0}'", Context.Current.FormDataSet["BPMPurchase.PurchaseSN"]);

Context.Current.IDataProvider.ExecuteNonQuery(sql);