select * from ... 返回大量记录比如 一百万条, 可以吗

解决方案 »

  1.   

    你是要返回的数量呢?
    还是要返回数据呢?
    如果就单纯的一个数据数量
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      //SetADOConnection(ADOConnection1);
      dm.ADOQuery3.Close;
      dm.ADOQuery3.SQL.Clear;
      dm.ADOQuery3.SQL.Add('select * from yh_table');
      dm.ADOQuery3.Open;
      //得到数据表中记录个数
      showmessage(inttostr(dm.adoquery3.RecordCount));end;
    但是数据量就100完应该没有问题!~
      

  2.   

    唯一问题,时间问题; 小心:“超时已过期”哦!注意设置数据集和CONNECTION的TIMEOUT。可以考虑设置为:0(永不超时)
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    //SetADOConnection(ADOConnection1);
    dm.ADOQuery3.Close;
    dm.ADOQuery3.SQL.Clear;
    dm.ADOQuery3.SQL.Add('select count(*) as 记录数 from yh_table');
    dm.ADOQuery3.Open;
    //得到数据表中记录个数
    showmessage(dm.adoquery3.fieldbyname('记录数').asstring);
    end;
      

  4.   

    各位大神,要是我是进行删除操作,不会dm.ADOQuery3.Open;只会dm.ADOQuery3.ExecSQL;
    那怎样返回操作记录数量?