M
micro73
Unregistered / Unconfirmed
GUEST, unregistred user!
开发环境:前台win98+delphi6 update packet 2+ado,
后台win2k server + ms sql2000 server
在后台有一数据库,内有多个表(数据由其它数据库转换而来)。
中间层用TAdoDataSet通过TAdoConnection与后台连接,采用少量多次
和异步传输(设定ExecuteOptions为[eoAsyncFetch,eoAsyncFetchNonBlocking]),
出现其中一个表(员工资料)不能使用异步传输的现象。客户端代码如下:
procedure TWorkerForm.DispAllRecords;
begin
with MainDataModule.ClientDataSet2 do
begin
Close;
CommandText:='select * from 员工资料';
try
Open;
except
//......
end;
end;
end;
经过反复测试,有如下现象:
1、select * from 员工资料 //在TDbGrid中无任何记录显示
2、select top 49 * from 员工资料 //有时可以正常显示记录
3、select top 50 * from 员工资料 //超过49不能正显示记录
4、select * from 计件工资 //当表名不为“员工资料”时可以正常显示所有记录
5、若直接使用TAdoTable,可以正常所有记录
6、若取消使用异步传输,即ExecuteOptions为空,可以正常显示所有记录
7、怀疑是ADO的问题,重装MDAC2.6后问题依旧。
各位高手帮我看看是什么问题?
后台win2k server + ms sql2000 server
在后台有一数据库,内有多个表(数据由其它数据库转换而来)。
中间层用TAdoDataSet通过TAdoConnection与后台连接,采用少量多次
和异步传输(设定ExecuteOptions为[eoAsyncFetch,eoAsyncFetchNonBlocking]),
出现其中一个表(员工资料)不能使用异步传输的现象。客户端代码如下:
procedure TWorkerForm.DispAllRecords;
begin
with MainDataModule.ClientDataSet2 do
begin
Close;
CommandText:='select * from 员工资料';
try
Open;
except
//......
end;
end;
end;
经过反复测试,有如下现象:
1、select * from 员工资料 //在TDbGrid中无任何记录显示
2、select top 49 * from 员工资料 //有时可以正常显示记录
3、select top 50 * from 员工资料 //超过49不能正显示记录
4、select * from 计件工资 //当表名不为“员工资料”时可以正常显示所有记录
5、若直接使用TAdoTable,可以正常所有记录
6、若取消使用异步传输,即ExecuteOptions为空,可以正常显示所有记录
7、怀疑是ADO的问题,重装MDAC2.6后问题依旧。
各位高手帮我看看是什么问题?