利用表之间的关系创建Query

本文介绍了SysQuery类中用于根据表间关系创建查询的方法queryFromTableRelation。该方法简化了构造查询的过程,避免了重复编码,并提供了实用的示例。

我们经常需要根据表之间的关系用代码创建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 :如果没有关系就不返回记录,这一点是靠如下语句实现的:

None.gifif (_noRelationNoRecords && dictRelation.lines() == 0)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif{
InBlock.gif        query.dataSourceTable(_relationTableId).addRange(FieldNum(Common, TableId)).value(queryValue(
0));
ExpandedBlockEnd.gif    }
调用示例:
None.gifQuery querySalesParmLine(boolean _forupdate = false)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif    
return SysQuery::queryFromTableRelation(this, tableNum(SalesParmLine), _forupdate);
ExpandedBlockEnd.gif}

这个函数的代码还是挺漂亮的,可以看做DictionRaltaion类应用的示例代码,呵呵.

转载于:https://www.cnblogs.com/Farseer1215/archive/2006/09/21/510375.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值