2012-04-17 74 views
2

我想知道是否有一個聰明/簡短的方式來確定表中的字段是否從系統生成。我只有tableNum中和FieldNum作爲變量(沒有硬編碼,只有動態值),我希望能寫出這樣的(僞代碼):確定一個字段是否是系統字段

if(Sys::isSystemField(tableId, fieldId)) 
{ 
    //... 
} 

相反的:

//... 
str fieldName; 
//... 
; 
//... 

fieldName = dictTable.fieldName(fieldId); 

if(fieldName == "modifiedDateTime" 
    || fieldName == "DEL_ModifiedTime" 
    || fieldName == "modifiedBy" 
    || //etc...) 
{ 

//... 

這就是我會寫的,如果沒有辦法做我在找什麼。希望有人可以幫忙,我很遺憾沒有在文檔中找到任何有關這方面的信息。

乾杯

回答

3

使用isSysId一個全球性的方法。

它例如在Global::buf2buf使用:

static void buf2Buf(Common _from, Common _to) 
{ 
    DictTable dictTable = new DictTable(_from.TableId); 
    fieldId  fieldId = dictTable.fieldNext(0); 
    while (fieldId && ! isSysId(fieldId)) 
    { 
     _to.(fieldId) = _from.(fieldId); 
     fieldId   = dictTable.fieldNext(fieldId); 
    } 
} 
+0

它奇妙的作品。謝謝! – Max 2012-04-17 14:16:57

相關問題