【功能說明】
此元件用於記錄UpdateComp所進行的資料表異動,即指當用戶對該UpdateComp的主資料表有執行Insert/Update/Delete動作時,系統會自動記錄下更改或刪除前的所有資料及更改的時間與更改者(刪除者)至另一個指定的資料表。一般情況下,此資料表的資料結構最好與原資料表一致或相似,當然,為了能記錄下更改時間及狀態以及更改者代碼,則必須在記錄檔上加開Log_State,Log_User,Log_DateTime(也可以自行命名),以及自動遞增欄位log_ID(欄位名稱可自定義)等四個欄位。本元件的目的就是要讓你在資料控管上更能得心應手。
【元件屬性】
Name(名稱)(string)
元件名稱,用於識別該元件。
LogDateType(日期時間格式)(string)
指日期時間欄位的格式為日期或日期加時間等。
LogIDField(標誌欄位)(string)
此異動記錄的目的資料表無法設定主鍵,所以要設一個自動遞增的標誌欄位作為主鍵。
LogTableName(資料表名稱)(string)
異動記錄所指定的目的資料表名稱,來源資料表當然是指UpdateComp的資料表名稱。
MarkField(狀態欄位)(string)
記錄異動狀態的欄位名稱,預設為Log_State,其內容則預設 'D' 為刪除,'M' 為更改,'I'為新增。
ModifierField(更改者欄位)(string)
記錄異動用戶的欄位名稱。預設為Log_User。
ModifyDateField(日期時間欄位)(string)
記錄異動日期的欄位名稱。預設為Log_DateTime。
NeedLog(啟用)(bool)
為本異動記錄的開關,True代表為啟動狀態,False則代表不執行異動記錄。
OnlyDistinct(僅記錄更改欄位)(bool)
為True時,將只記錄有異動的欄位(更改前的值),如為False則依SrcFieldName設定來記錄。
SrcFieldName(記錄欄位明細)(string[])
可以自由指定要記錄下那些Column的內容,不設定則代表要記錄所有Column。注意,來源的欄位名稱與型態必須與目的數據表是相同的。
【事件】
此元件無事件。
【功能函數】
此元件無功能函數。
【其他說明】
當Insert時,因為沒有舊值,所以會記錄UpdateComp的新值。
當Delete時,因為沒有新值,所以會記錄UpdateComp的舊值。
當Update時,因為有新舊值,所以會記錄UpdateComp的舊值,而有的欄位沒有舊值時,取新值。