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 '';

    }

    附件是测试用例。
  • 相关阅读:
    模板复习
    [BZOJ4016][FJOI2014]最短路径树问题(dijkstra+点分治)
    Stirling数,Bell数,Catalan数,Bernoulli数
    [BZOJ2820]YY的GCD
    [BZOJ2154]Crash的数字表格
    [HAOI2011]Problem b&&[POI2007]Zap
    [BZOJ2588][SPOJ10628]Count on a tree
    [ONTAK2010]Peaks
    [HNOI2010]弹飞绵羊
    [HNOI2004]宠物收养所
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/885454.html
Copyright © 2011-2022 走看看