// // 這個檔案是 訓練效益個人 資料表的資料存取類別 檔案二 // 您可以修改這個檔案,加入您自訂的屬性與方法 // using System; using System.Collections.Generic; using System.Text; using System.ComponentModel; using System.Data; using System.Data.Common; using WebLib; using System.Data.SqlClient; namespace Education { /// /// 訓練效益個人 資料存取類別 /// public partial class DAC_訓練效益個人 : WebLib.DAC { #region 自動產生的資料存取方法 /// /// InsertOne 之前會執行此方法 /// 在這裡可以做一些檢查或是自動編號等動作 /// 回傳 false 會打斷 InsertOne 的執行 /// protected virtual bool BeforeInsertOne(訓練效益個人 value) { return true; } /// /// InsertOne 之後會執行此方法 /// protected virtual void AfterInsertOne(訓練效益個人 value) { } /// /// InsertOne 發生錯誤時會執行此方法 /// ///錯誤是否已經處理妥當 protected virtual void OnInsertOneError(Exception error, out bool handled) { handled = false; } /// /// UpdateOne 之前會執行此方法 /// 在這裡可以做一些檢查 /// 回傳 false 會打斷 UpdateOne 的執行 /// protected virtual bool BeforeUpdateOne(訓練效益個人 value) { return true; } /// /// UpdateOne 之後會執行此方法 /// protected virtual void AfterUpdateOne(訓練效益個人 value) { } /// /// UpdateOne 發生錯誤時會執行此方法 /// ///錯誤是否已經處理妥當 protected virtual void OnUpdateOneError(Exception error, out bool handled) { handled = false; } /// /// DeleteOne 之前會執行此方法 /// 在這裡可以做一些檢查 /// 回傳 false 會打斷 DeleteOne 的執行 /// protected virtual bool BeforeDeleteOne(訓練效益個人 value) { return true; } /// /// DeleteOne 之後會執行此方法 /// protected virtual void AfterDeleteOne(訓練效益個人 value) { } /// /// DeleteOne 之前會執行此方法 /// 在這裡可以做一些檢查 /// 回傳 false 會打斷 DeleteOne 的執行 /// protected virtual bool BeforeDeleteOne(int 訓練課程企劃編號, string 學員編號, int DB_APPNO) { return true; } /// /// DeleteOne 之後會執行此方法 /// protected virtual void AfterDeleteOne(int 訓練課程企劃編號, string 學員編號, int DB_APPNO) { } /// /// DeleteOne 發生錯誤時會執行此方法 /// ///錯誤是否已經處理妥當 protected virtual void OnDeleteOneError(Exception error, out bool handled) { handled = false; } #endregion // 有另外加上去的屬性及方法,請加在這裡 [DataObjectMethod(DataObjectMethodType.Select)] public 訓練效益個人List Select(int 訓練課程企劃編號, int 填表序號) { 訓練效益個人List result = new 訓練效益個人List(); IDataList list = result as IDataList; DbCommand cmdSelect = NewCommand(); cmdSelect.CommandText = _select + _from + _where + " and 訓練課程企劃編號 = @訓練課程企劃編號 " + " and 填表序號 = @填表序號 " + " order by 學員編號 " ; AddParam(cmdSelect, "訓練課程企劃編號", 訓練課程企劃編號); AddParam(cmdSelect, "填表序號", 填表序號); Select(cmdSelect, ref list); return result; } public void Update(int 訓練課程企劃編號, int 填表序號, string 學員編號, string 是否有成效, string 成效說明) { 訓練效益個人List d = SelectOne(訓練課程企劃編號, 學員編號); if (d.Count == 0) { 訓練效益個人 newValue = new 訓練效益個人(); newValue.訓練課程企劃編號 = 訓練課程企劃編號; newValue.填表序號 = 填表序號; newValue.學員編號 = 學員編號; newValue.是否有成效 = 是否有成效; newValue.成效說明 = 成效說明; InsertOne(newValue); } else { d[0].是否有成效 = 是否有成效; d[0].成效說明 = 成效說明; UpdateOne(d[0]); } } [DataObjectMethod(DataObjectMethodType.Select)] public DataTable SelectFor簽核(int 訓練課程企劃編號, int 填表序號) { DbCommand cmdSelect = NewCommand(); cmdSelect.CommandText = @"SELECT A.學員編號, B.BPNME AS 學員姓名, C.RAJNO AS 職務編號, G.BPJME AS 職務名稱, C.RACNO AS 等級編號, H.BPCME AS 等級名稱, A.是否有成效, A.成效說明 FROM 訓練效益個人 A INNER JOIN BPSNView B ON A.學員編號 = B.BPENO LEFT OUTER JOIN RASN C on A.學員編號 = C.RANUM and C.RAEDT is NULL left outer join BPJA G on G.BPPYN = C.RAPYN and G.BPJNO = C.RAJNO left outer join BPJB H on H.BPPYN = C.RAPYN and H.BPJNO = C.RAJNO and H.BPCNO = C.RACNO WHERE A.訓練課程企劃編號 = @訓練課程企劃編號 AND A.填表序號 = @填表序號 ORDER BY A.學員編號"; AddParam(cmdSelect, "訓練課程企劃編號", 訓練課程企劃編號); AddParam(cmdSelect, "填表序號", 填表序號); return Select(cmdSelect); } } /// /// 訓練效益個人 資料集合類別 /// public partial class 訓練效益個人List : List<訓練效益個人> { // 有另外加上去的屬性及方法,請加在這裡 } /// /// 訓練效益個人 資料紀錄類別 /// public partial class 訓練效益個人 { // 有另外加上去的屬性及方法,請加在這裡 } }