三层结构的问题?(50分)

  • 主题发起人 eastweast
  • 开始时间
E

eastweast

Unregistered / Unconfirmed
GUEST, unregistred user!
是不是我用clientdataset1.active:=True时,一定会获得clientDataset1所连接的数据表
的所有数据。(已将clientdataset1的PacketRecords设为-1)
可是我只想得到clientdataset1所连接的数据表的所有字段名,如果传输所有的数据过来,
岂不是效率很低,但是我的程序中的其他地方也用到clientdataset1,
必须将PacketRecorders设为-1.
请问有没有好的办法?
如果将PacketRecords设为5,得到所有字段名后再改回-1,
不知道行不行?
 
<<delphi5.x分布式多层应用系统篇>>
 
何不将PacketRecords设为0呢,然后再改回-1,不过应该还要Refresh吧
 
用两个TClientDataSetk吧.
 
还是用两个TClientDateSet的好。
 
如果对TClientDataSet有特殊的要求,那还是为 它专门提供一个吧
 
在服务器端设一个方法吧,专门取某个表的字段列表
 
用两个TClientDataSet,一个取字段名,一个取所有数据。
 
对于多层式系统来说,最好不要把PackedRecord设为-1,最好是设成0,每次取数据都用代码完
成。这样可以达到比较高的效率。
 
方法很多,我提供另外一种思路。如果你的ClientDataSet1的数据是发SQL语句取过来的,
可以在SQL语句上这样写select * from TableName where 1=2这样就得到一个空的数据集
但是字段列表已经在其中。:)
 
tomljh的想法有点特别,试试看。
 
这样,用SQL语句: Select * top 0 from tablename
 
可以在服务器端开一个方法,传回数据库结构就可以了啊!
具体可以看一下delphi/kylix database development这本书,好象是第二章吧?
 
多人接受答案了。
 
顶部