讨论分布式中的分段获取数据问题(100分)

  • 主题发起人 主题发起人 3p
  • 开始时间 开始时间
3

3p

Unregistered / Unconfirmed
GUEST, unregistred user!
我在李维的书本中得到关于分布式环境下的分段获取数据问题,但于实际应用中存在一定的
差距,主要是对于需要排序地获取数据时,应该如何保持前后台的记录标记,如
select * from table where recno>:m order by recno这样简单的查询可以正确地传递
记录集的最后的记录标记,但如果需要以下的查询:
select * from table where recno>:m order by otherfield1,otherfield2,
otherfield3 如何保证正确地传递记录集的最后的记录标记?是采用如下方式吗?
select * from table where otherfield1+otherfield2+otherfield3 >:m
order by otherfield1,otherfield2,otherfield3
这样将会发生漏取数据的可能,对数据库的维护要求很高!当然,我这里的讨论是
后台采用MTS+ADO,前台用clientdataset获取来自后台的数据,然后立即释放ADO的
连接,所以不能简单地利用ADO的本身的排序优点,遗憾,可恶,麻烦。
那位高手登台指点,谢谢,谢谢!
 
你想保持前后台的记录编号一致.又想排序.你一排序那他的顺序不就变了.
到前台的记录编号是排序后重新排列的.
 
你说的一点也没错,但我正是为此提出问题的。能不能解决这个需要排序的也需要分次
获取数据的折衷的方法?各位继续努力!
 
试着在客户端BeforeGetRecords事件中,把你需要的参数(不论多少)都放到OwnerData
(做成数组就行了)去,然后再在服务器端的BeforeGetRecords事件中把OWNERDATA的
值一个个读出来,用SQL语句得到数据,再用这些参数搜索一条记录,这里你把客户端
最后一条记录所有的字段都传过去,那就不会漏掉记录了,哈哈
 
去试试看。
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部