用ADODataSet的MaxRecord的奇怪问题(50分)

  • 主题发起人 主题发起人 DarwinZhang
  • 开始时间 开始时间
D

DarwinZhang

Unregistered / Unconfirmed
GUEST, unregistred user!
我用ADODataSet的MaxRecord有问题:
ADODS.Close;
ADODS.MaxRecords:=1000;
ADODS.Open;
读了一千条记录,然后
ADODS.Close;
ADODS.MaxRecords:=0;
ADODS.Open;
想读出全部记录,可是不行,它还是读了1000条记录!怎么办?
 
把连接断掉,在重新连一次
 
ADODS.Close;
我不是断开了吗?
 
你的应该是三层的程序吧?如果是的话,好象要断开与应用程序的连接。
 
不是,仅仅是CS模式。
 

ADODS.Close;
ADODS.MaxRecords:=0;
ADODS.Open;
不是读了1000条纪录
而是全部纪录
1000是巧合而已

看帮助:
Set MaxRecords to indicate the maximum number of rows.
The default value for MaxRecords is 0 (zero),
which places no limits on the result set.
说得清楚明白.
 
这个我测试了,原因是它在ADODS.Connection中有记录,你可以这样:
ADOTable1.close;
ADOTable1.Connection.Connected:=False;
ADOTable1.MaxRecords:=strtoint(Edit1.text);
ADOTable1.Open;

这样就可以了。
 
后退
顶部