zoukankan      html  css  js  c++  java
  • 获取最根级EDT类型名称

    有时候需要修改某个扩展数据类型的属性,比如字段的长度等,这些属性只能在最根级的EDT类型上修改,所以需要找到最根级的EDT类型,这个小例子演示了如何根据当前表的字段获取其对应的最根级EDT类型。
    //Return the top extendtypeid,If error,return ''
    static ExtendedDataTypeName GetFinalExtendedType(TableId _tableId,FieldId _fieldId)
    {
        SysDictField        dictField;
        SysDictType         dictType;
        ExtendedTypeId      tmpExtendTypeId;
        ExtendedTypeId      finalExtendTypeId;

        ExtendedTypeId  getNextExtendedTypeId(DictType _dictType)
        
    {
            ;
            
    if(_dictType.extend())
                
    return _dictType.extend();
            
    else
                
    return 0;

        }

        ;

        
    if(_tableId && _fieldId)
            dictField 
    = new SysDictField(_tableId,_fieldId);
        
    else
            
    return '';

        dictType    
    =   new SysDictType(dictField.typeId());

        
    if(!dictType)
            
    return '';
            
        finalExtendTypeId 
    = dictType.id();

        
    while(true)
        
    {
            tmpExtendTypeId 
    = getNextExtendedTypeId(dictType);

            
    //if not '',find next extendTypeId
            if(tmpExtendTypeId)
            
    {
                finalExtendTypeId   
    =   tmpExtendTypeId;
                dictType            
    =  new DictType(finalExtendTypeId);
            }

            
    else
                
    break;



        }


        
    if(finalExtendTypeId)
            
    return  new dictType(finalExtendTypeId).Name();
        
    else
            
    return '';

    }

    附件是测试用例。
  • 相关阅读:
    camke 参数
    17.计算1-100之和+1-50的平方和+1-10的倒数
    16.求Sn=a+aa+aaa+aaaa.......之值
    15.计算1!+2!+3!+.....20!=?
    14.输出所有的“水仙花”
    13.企业发放的奖金根据利润提成
    12.输入一个成绩计算其A,B,C,D,E等级
    11.键盘输入小于1000的整数
    10.求方程的根
    2019考研历程回顾
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/885454.html
Copyright © 2011-2022 走看看