2012-04-17 45 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

相关问题