public DataTable QuerySwitch(QueryType QT, ArrayList ParameterList) { DBO.STD_IMPORT_TMP_DBO STDM = new STD_IMPORT_TMP_DBO(ref USEDB); DataTable Dt; try { switch (QT) { case QueryType.STD071_CHECKDATA: Dt = STDM.DO_STD071_CHECKDATA(ParameterList); break; case QueryType.STD071_IMPORT_TMP_SCHEMA: Dt = STDM.DO_STD071_TEMP_SCHEMA(ParameterList); break; default: Dt = new DataTable(); break; } return Dt; } catch (Exception ex) { throw ex; } }
/// <summary> /// 刪除該使用者存在於 STD_IMPORT_TMP 的舊資料,並將 EXCEL 中新資料匯入 STD_IMPORT_TMP /// </summary> /// <param name="ParameterList">刪除變數</param> /// <param name="RootDBT">是否有主交易,無主交易輸入null</param> /// <returns>回傳影響筆數</returns> public void STD071_DELETE_AND_INSERT_TEMP_TABLE(ArrayList ParameterList, DbTransaction RootDBT, DataTable dt_STD_IMPORT_TMP) { bool IsRootTranscation = false; try { DBO.STD_IMPORT_TMP_DBO SITD = new STD_IMPORT_TMP_DBO(ref USEDB); //判斷是否有傳入Root Transcation IsRootTranscation = (RootDBT == null) ? true : false; #region 啟動交易或指定RootTranscation if (IsRootTranscation) { //獨立呼叫啟動Transcation Conn = USEDB.CreateConnection(); Conn.Open(); DBT = Conn.BeginTransaction(); } else { DBT = RootDBT; } #endregion SITD.DO_STD071_DELETE_TEMP_TABLE(ParameterList, DBT); foreach (DataRow dRow in dt_STD_IMPORT_TMP.Rows) { SITD.DO_STD071_INSERT_TEMP_TABLE(ParameterList, DBT, dRow); } #region 交易成功 if (IsRootTranscation) { //獨立呼叫Transcation成立 DBT.Commit(); } #endregion } catch (Exception ex) { #region 交易失敗 if (IsRootTranscation) { //獨立呼叫Transcation失敗 DBT.Rollback(); } #endregion throw ex; } finally { #region 判斷是否關閉交易連線 if (IsRootTranscation) { //獨立呼叫Transcation,關閉連線 if (Conn.State == ConnectionState.Connecting) { Conn.Close(); } } #endregion } }
/// <summary> /// 按下 BUTTON 檢視異常報表 /// </summary> /// <param name="ParameterList">變數"登入人員"</param> /// <returns>回傳查詢結果</returns> public DataTable STD071_QUERRY_TEMP_TABLE(ArrayList ParameterList) { try { DBO.STD_IMPORT_TMP_DBO SITD = new STD_IMPORT_TMP_DBO(ref USEDB); return SITD.DO_STD071_QUERRY_TEMP_TABLE(ParameterList); } catch (Exception ex) { throw ex; } }