// // 這個檔案是 外部受訓紀錄 資料表的資料存取類別 檔案二 // 您可以修改這個檔案,加入您自訂的屬性與方法 // 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 自動產生的資料存取方法 /// /// 給查詢畫面用的 Select 方法 /// [DataObjectMethod(DataObjectMethodType.Select)] public 外部受訓紀錄List Select(bool noInputReturnAll, string 員工編號, string 實施單位, string 課程類別, string 訓練名稱, int 訓練年度, string 訓練單位) { 外部受訓紀錄List result = new 外部受訓紀錄List(); bool noInput = true; IDataList list = result as IDataList; DbCommand cmdSelect = NewCommand(); cmdSelect.CommandText = _select + _from + _where; if (員工編號 != null && 員工編號.Length > 0) { noInput = false; cmdSelect.CommandText += " and 員工編號 like @員工編號 "; AddParam(cmdSelect, "員工編號", 員工編號 + "%"); } if (實施單位 != null && 實施單位.Length > 0) { noInput = false; cmdSelect.CommandText += " and 實施單位 like @實施單位 "; AddParam(cmdSelect, "實施單位", 實施單位 + "%"); } if (課程類別 != null && 課程類別.Length > 0) { noInput = false; cmdSelect.CommandText += " and 課程類別 like @課程類別 "; AddParam(cmdSelect, "課程類別", 課程類別 + "%"); } if (訓練名稱 != null && 訓練名稱.Length > 0) { noInput = false; cmdSelect.CommandText += " and 訓練名稱 like @訓練名稱 "; AddParam(cmdSelect, "訓練名稱", 訓練名稱 + "%"); } if (訓練年度 > 0) { noInput = false; cmdSelect.CommandText += " and 訓練年度 = @訓練年度 "; AddParam(cmdSelect, "訓練年度", 訓練年度); } if (訓練單位 != null && 訓練單位.Length > 0) { noInput = false; cmdSelect.CommandText += " and 訓練單位 like @訓練單位 "; AddParam(cmdSelect, "訓練單位", 訓練單位 + "%"); } cmdSelect.CommandText += _order; if (!noInputReturnAll && noInput) return result; Select(cmdSelect, ref list); return result; } /// /// InsertOne 之前會執行此方法 /// 在這裡可以做一些檢查或是自動編號等動作 /// 回傳 false 會打斷 InsertOne 的執行 /// protected virtual bool BeforeInsertOne(外部受訓紀錄 value) { value.序號 = Next序號(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(string 員工編號, int 序號, int DB_APPNO) { return true; } /// /// DeleteOne 之後會執行此方法 /// protected virtual void AfterDeleteOne(string 員工編號, int 序號, int DB_APPNO) { } /// /// DeleteOne 發生錯誤時會執行此方法 /// ///錯誤是否已經處理妥當 protected virtual void OnDeleteOneError(Exception error, out bool handled) { handled = false; } #endregion // 有另外加上去的屬性及方法,請加在這裡 private int Next序號(string 員工編號) { DbCommand cmd = NewCommand(); cmd.CommandText = @"select isnull(max(序號), 0) + 1 from " + _tableName + " where 員工編號 = @員工編號"; AddParam(cmd, "員工編號", 員工編號); int i; ExecuteScalar(cmd, out i); return i; } } /// /// 外部受訓紀錄 資料集合類別 /// public partial class 外部受訓紀錄List : List<外部受訓紀錄> { // 有另外加上去的屬性及方法,請加在這裡 } /// /// 外部受訓紀錄 資料紀錄類別 /// public partial class 外部受訓紀錄 { // 有另外加上去的屬性及方法,請加在這裡 } }