• 利用表之间的关系创建Query


    我们经常需要根据表之间的关系用代码创建query,SysQuery这个类提供了一个方法queryFromTableRelation,当然这个方法的代码跟我们平常根据表之间的关系构造query的过程是完全一样的,不过它做成了通用的方法,直接调用它就不用自己每次都重复劳动了,另外SysQuery里还有几个不错的方法,值得看一下source.
    public static Query queryFromTableRelation(Common _parentTable, TableId _relationTableId, boolean _update = false, boolean _noRelationNoRecords = true)
    功能:根据表的关系构造Query
    参数说明:
    _parentTable:父表
    _relationTableId:子表Id
    _update :是否允许query更新数据库记录
    _noRelationNoRecords :如果没有关系就不返回记录,这一点是靠如下语句实现的:

    if (_noRelationNoRecords && dictRelation.lines() == 0)
        
    {
            query.dataSourceTable(_relationTableId).addRange(FieldNum(Common, TableId)).value(queryValue(
    0));
        }
    调用示例:
    Query querySalesParmLine(boolean _forupdate = false)
    {
        
    return SysQuery::queryFromTableRelation(this, tableNum(SalesParmLine), _forupdate);
    }

    这个函数的代码还是挺漂亮的,可以看做DictionRaltaion类应用的示例代码,呵呵.
  • 相关阅读:
    ionic之样式bar-assertive
    (?m) 可以让.去匹配换行
    perl 正则前导字符
    ionic之样式bar-energized
    ionic之样式bar-balanced
    ionic之样式bar-calm
    perl /m
    sort_buffer_size:
    Filter plugins ? mutate:
    Codec plugins ? multiline
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/510375.html
Copyright © 2020-2023  润新知