利用Table之间的关系创建Query

本文介绍了如何使用SysQuery类的queryFromTableRelation方法根据表之间的关系创建Query,提供了调用示例并解释了关键参数的作用。

利用表之间的关系创建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);
}

 

转载于:https://www.cnblogs.com/yuankang/archive/2012/04/10/2440062.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值