zoukankan      html  css  js  c++  java
  • 获取AX数据字典

    AX提供了很多反射类可以获取元数据信息,刚刚一个同事需要一个AX数据字典的列表,顺手写了一个,没啥技术含量,在这里做个备份,以便以后复制粘贴.
    static void DataDictionary(Args _args)
    {
        #AOT
        
    #define.FileName(@"d:\DataDictionary.txt")
        TextBuffer  tb 
    = new TextBuffer();
        TreeNode    treeNode 
    = TreeNode::findNode(#TablesPath);
        DictTable   dictTable;
        DictField   dictField;
        
    int         i;
        ;

        treeNode 
    = treeNode.AOTfirstChild();

        
    while(treeNode)
        
    {
            dictTable 
    = new DictTable(tableName2Id(treeNode.AOTname()));
            tb.appendText(dictTable.name()
    +' '+dictTable.label());
            tb.appendText(
    '\n');
            
    for(i=1;i<=dictTable.fieldCnt();i++)
            
    {
                dictField 
    = new DictField(dictTable.id(),dictTable.fieldCnt2Id(i));
                tb.appendText(
    '         '+dictField.name()+' ' + dictField.label());
                tb.appendText(
    '\n');
            }

            
            print treeNode.AOTname();
            treeNode 
    = treeNode.AOTnextSibling();
            
        }

        tb.toFile(#FileName);

    }

    当然也可以不用TreeNode,而用Dictionary得到表.
    static void DataDictionary2(Args _args)
    {
        #AOT
        
    #define.FileName(@"d:\DataDictionary.txt")
        TextBuffer  tb 
    = new TextBuffer();
        Dictionary  dictionary 
    = new Dictionary();

        DictTable   dictTable;
        DictField   dictField;
        
    int         i;
        
    int         j;
        ;

        
    for( i=1;i<= dictionary.tableCnt();i++)
        
    {
            dictTable 
    = new DictTable(dictionary.tableCnt2Id(i));
            tb.appendText(dictTable.name()
    +' '+dictTable.label());
            tb.appendText(
    '\n');
            
    for(j=1;j<=dictTable.fieldCnt();j++)
            
    {
                dictField 
    = new DictField(dictTable.id(),dictTable.fieldCnt2Id(j));
                tb.appendText(
    '         '+dictField.name()+' ' + dictField.label());
                tb.appendText(
    '\n');
            }


            print dictTable.name();
            
    //treeNode = treeNode.AOTnextSibling();

        }

        tb.toFile(#FileName);

    }
  • 相关阅读:
    汇编语言(王爽 第三版)实验十四
    汇编语言(王爽 第三版)实验十三
    汇编语言(王爽 第三版)实验十二
    汇编语言(王爽 第三版)实验十一
    汇编语言(王爽 第三版)实验十
    汇编语言(王爽 第三版)实验九
    汇编语言(王爽 第三版)实验七
    android SQLite数据库的基本操作
    Android异步处理系列文章四篇之四 AsyncTask的实现原理
    Android异步处理系列文章四篇之三
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/981148.html
Copyright © 2011-2022 走看看