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

【功能說明】

用途:屬於Server端的元件,用於對資料庫進行資料存取,提供一個虛擬SQL Command元件,以此SQL命令來取得後端資料庫的資料並傳遞給Client端。如要對資料進行儲存操作,則須與UpdateComponent配合使用。

 

【元件屬性】

ID(名稱)(string)

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

 

CommandText(SQL命令)(string

EEP Server需要用本屬性的SQL命令來直接對資料庫進行存取,一般皆為Select的語法,代理Client從資料庫來取得資料,並傳回給Client。此SQL語法也可以用Left Join語法關聯多個Table

  

CommandType(SQL命令類別)(enum)

SQL命令的類別,可選為:

TextSQL命令句,一般都是設定為Text,預設也是。

StoredProcedure:資料庫的儲存程序。

 

Database(EEP資料庫名稱)(string)

可指定一個對應的DB,一般InfoCommand的資料集是不必設定此屬性的,因為會於每個Client Login時告知EEP Server,並讓InfoCommand可以依Client所設定的Database來動態存取資料,這樣做的目的,是為了資料庫名稱可以獨立於系統外面,但如果有多公司多廠的資料須相互整合時,就必須指定特定的資料庫來達到同時存取多個資料庫資料的目的。

  

RuntimeDatabase(Runtime資料庫名稱)(string)

可指定一個對應的DB,此為Runtime時才使用的DB,設計與預覽則使用原本的DB

 

Keys(主鍵欄位)(KeyItem)

指相對SqlCommand所指定主檔的主鍵欄位,一般為PrimaryKey,可以設定多個。此用在當與UpdateComp元件配合時,在Update/Delete語法中所必須定義的Where Keyfield欄位。

  

SecStyle(安全模式)(enum)

用來控制資料安全的模式,目前可用的模式為:

(1) None不啟動:本InfoCommand不作任何資料安全控管。

(2) User:所有歸屬該User的資料都可以存取,啟動此命令時系統會自動為你加上where 欄位=UserID,因此,此功能必須在InfoCommandTable上必須要有這個欄位來存放UserID

(3) Group:所有歸屬該使用者相對的群組資料都可以存取,啟動此命令時系統會自動為你加上 where 欄位 IN (User群組),此功能必須在InfoCommandTable上必須要有這個欄位來存放GroupID

(4)Role : 所有歸屬該使用者相對的角色資料都可以存取,啟動此命令時系統會自動為你加上 where 欄位 IN (User角色),此功能必須在InfoCommandTable上必須要有這個欄位來存放RoleID

 

SecField(安全管制欄位)(string)

用來定義SecStyle的欄位名稱,如果SecStyle=ByUser就是指建檔者userid的欄位名稱,如果SecStyle=ByGroup即指此資料的所屬部門(群組)的欄位名稱。

 

SecExcept(安全管制例外)(string)

可以定義一個或多個例外的用戶(User/群組(Group/角色(Role),此屬性要搭配SecStyle作使用,SecStyle=UserSecExcept要填UseridSecStyle=Group, SecExcept則填GroupID,如果是多個則以”,””;”隔開。

 

SiteField(分割欄位)(string)

 

SelectPaging(分頁讀取)(bool)

會針對資料表的Key值欄位排序來取得一個次序編號,並以這個編號作為分頁的依據來直接定位分段資料且將資料取出。

 

CacheData(緩存數據)(bool)

對於已加載的資料會緩存下來,不必每次重新撈取。

 

CacheTTL(緩存時間)(string)

以分為單位,預設24小時(1440)。時間到會自動清除緩存資料。

 

 Parameters(參數)(InfoParameters)

用於Stored Procedure,包括以下屬性:

(1)Name(參數名)(System.String):參數名

(2)SqlType(類型) (Srvtools.InfoDbType):設定該參數在資料庫中對應的欄位類型。

(3)Value() (System.Object):獲取或設置該參數的值。

 

NonLogon(免登入)(bool)

此屬性是搭配免登入功能做使用,如果有使用免登入功能的頁面,該RWD表單所對應的Server端如果有用到InfoCommand組件的話,也須將NonLogon屬性設為True才能讓免登入的用戶存取數據。

 

【事件】

 

OnBeforeExecuteSQL(infocommand執行前):ExecuteSQL前所要執行的事件。

 

OnAfterExecuteSQL(infocommand執行後):ExecuteSQL後所要執行的事件。

 

Top of Page