附錄\A.Server端元件屬性\UpdateComponent

【功能說明】

用途:使用於Server端,本元件是為了能自動化處理Client端所要求的Insert/Update/Delete等需求,Server會以此元件來下達對應的Insert/Update/DeleteSQL指令。本元件須連接到對應的InfoCommand元件,並成雙成對。

 

【元件屬性】

ID(名稱)(string)

元件名稱,用於識別該元件。

  

InfoCommand(對應InfoCommand)(InfoCommand)

對應的InfoCommand,須選擇對應的InfoCommand,否則UpdateComp則無法獨立運作。

 

Fields( 預設欄位明細 )(FieldAttrCollection)

特殊控制每個欄位的預設值或是否更改,可以設定下列屬性:

(1)Field(欄位名稱)(string):所要控制的欄位名稱。

(2)OriginalColumn(原始欄位名)(string):當有使用別名欄位時,此欄位要輸入原始欄位名稱。

(3)UpdateEnable( 更改致能 )(bool) True 代表此欄位要進行更改, False 代表不進行更改,目的是用來過濾有 Left Join 別表的欄位不要進行對主資料表進行更改。(此用在 Update/Insert  )

(4)DefaultValue( 預設值 )(string)  支持文字、數字,會依欄位型態自動轉換,如果要動態的內容值,也可使用函數方式,或者可以配合 UpdateComp BeforeUpdate BeforeInsert 的事件來處理。

(5)TrimLength( 截斷長度 )(int)  可以讓型態為 String 的欄位依此長度截斷 , 預設為 0 代表不截斷。

(6)DefaultMode( 預設選項 )(enum)  為控制 DefaultValue 的模式,共有三種: 1. 新增時預設;insert  2. 更改時預設;update  3. 新增更改時都預設:both

 

RowAffectsCheck(影響行數檢查)(System.Boolean)

設置是否要檢查更新影響的行數。

 

UpdateifExists(如果存在是否更新)(bool)

可以配合前端的importExcel方法從Excel上傳資料來新增,設定UpdateIfExistsTrue時,可以重複導入,沒有重複的資料會以Insert導入,重複的資料會自動以Update的動作進行更新。

 

IsolationLevel(隔離層次)(enum)

DataBase的隔離層次,預設為ReadCommitted,其他還有ReadUncommitted,請參考資料庫的Isolation Level的說明。

  

【事件】

OnBeforeApply(存檔前):不管是Insert/Delete/Update,都會在上述動作之前先執行存檔前這個事件。

 

OnAfterApply(存檔後):不管是Insert/Delete/Update,都會在存檔成功後執行這個事件。

OnAfterApplied(存檔後):將在Commit trans後觸發,以方便處理交易成功後的程序。

OnBeforeInsert(新增前)Insert前所要執行事件。

OnAfterInsert(新增後)Insert後所要的執行的事件。

OnBeforeDelete(刪除前)Delete前所要執行的事件。

OnAfterDelete(刪除後) Delete後所要執行的事件。

OnBeforeUpdate(更改前)Update前所要執行的事件。

OnAfterUpdate(更改後)Update後所要執行的事件。

 

Top of Page