用delphi6的Tadoquery控件连MS_Sql数据库,用一个Tadoquery控件 查询1500万条数据时,查询时间很长(大概十几分钟左右)就会出现“对象被已打开”的错,该怎么处理这样的错误?还有什么控件可以装载1500万数据量的显示?谢谢各位高手!

解决方案 »

  1.   

    是的一次,要显示出来想测试前台能不能承受得了?如果在SQL前台是可以显示的,为什么用DELPHI调用时显示会出错?
      

  2.   

    是想做分页显示,但现在想测试控件能承受多大的数据量,二百多万还可以出来,但查询500W以上就不行了。一个数据集有一千五百万,系统就提示页面内存不够或是对象已被打开。CPU1。8内存512MB。
      

  3.   

    隐性声明ADOQUERY`DataSource和DBGRIDEH控件。
      

  4.   

    adoquery.Close;
    adoquery.SQL.Clear;
    adoquery.SQL.Add(SqlStr);
    adoquery.Prepared;
    adoquery.CommandTimeout:=0;
    adoquery.Open;
    DataSource1:=TDataSource.Create(NIL);
    DataSource1.DataSet:=adoquery;
    Recount:=qryAll.RecordCount;
    DBGridEh1.DataSource:=DataSource1;