datasetprovider1.dataset:=ADOQuery1;
ADOQuery1.close;
ADOQuery1.sql.text:='select * from myTable';
ADOQuery1.open;
clientdataset1.data:=datasetprovider1.data;
最后一句似乎是通过遍历ADOQuery1逐条将记录添加到clientdataset1实现的,数据量大时效率很差,怎么办?不要说设置packetRecords的值啊,我就是要立刻取到所有数据。
ADOQuery1.close;
ADOQuery1.sql.text:='select * from myTable';
ADOQuery1.open;
clientdataset1.data:=datasetprovider1.data;
最后一句似乎是通过遍历ADOQuery1逐条将记录添加到clientdataset1实现的,数据量大时效率很差,怎么办?不要说设置packetRecords的值啊,我就是要立刻取到所有数据。
要么加 where缩小查询范围。
要么选取自己用得做的字段。