?3层如何写查询代码?(100分)

  • 主题发起人 主题发起人 wave_calmly
  • 开始时间 开始时间
W

wave_calmly

Unregistered / Unconfirmed
GUEST, unregistred user!
查询返回的纪录数目不定,可能巨多
如何同时兼顾“编程工作量”和“效率”
请给出一个方案。
 
把代码写到服务器上
 
用分段查询!我现在也正找分段查询的解决方法!希望能交流交流
 
作为一个三层查询
将代码写到服务器上是非常好的一种方法
而且一定要兼顾能在客户机上改变sql语句
我一般是这样实现的
在服务器上提供一个写sql语句的接口,再通过这个接口反映到数据集上
 
如何分段查询(SQL Server 2000)?
QQ:27191895
 
直接使用RecordSet属性,效率能比使用TADOQuery好很多
 
设置ClientDataset的PacketRecords为你所要的每段的记录数。
 
使用分段查詢最好,象DFW一樣,下面的SQL語句返回從第m到第n筆共n-m記錄(n>m)
SELECT jb,rownum,name from personnel_jb where rowid in(
select rowid from personnel_jb where rownum<n minus
select rowid from personnel_jb where rownum<m)
(適用於ORACLE)
 
服务器用BDE Dataset或ADO Dataset,用TDatasetProvider进行服务器与客户端的协调,客户
端使用TClientDataset,通过TDCOMConnection或TSocketConnection与服务器进行连接。
在客户端TClientDataset的PacketRecords中设置每次要取的记录数,一次就只会取得相应
数目的记录,只有当客户端ClientDataset访问到的记录光标范围超过PacketRecords值时,
客户端才会再次从服务器取数据。
 
后退
顶部