我现在做的东东!需要两个QUERY进行查询!一个查询内要保留数据集!用另一个查询从当前数据集中取出的一个ID号再得到其它信息!由于用的是ACCESS库,它是独占的!请问怎么可以实现能进行两个查询都可进行?还有就是怎么取消第一次查询时进行数据库登录窗口,不让它出现!

解决方案 »

  1.   

    两个Query交替打开不就结了?
      

  2.   

    NO.1:
      with Query1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('Select ID from TableName');
        Open;
        First;
        while Not Eof do
        begin
          with Query2 do
          begin
            Close;
            SQL.Clear;
            SQL.Add('Select * From TableNameX where ID = ' +  Query1.FieldByName('ID').AsString');
            Open;
          end;
        end;
      end;
    NO.2:
       
      1:DataBase.DataBaseName = DataBase.AliasName;//相等才可以
      2:DataBase.LoginPrmpt := False;//为False;
      3:DataBase.Connected := True;
      

  3.   

    上边的那种,我把Query2打开后,query1的数据集还在吗?
      

  4.   

    在,你不要觉的独占就只可以有一个Query打开,它是对用户而言的;
    顺便问一下:过的还好吗?祝十一快乐;//是你老乡;
      

  5.   

    你理解错了,Query1不可以关的,如果关了就没有意义了;
    你看我的代码,明明是在
    First
    while Not Eof 里边写的;
      

  6.   

    现在挺好!你在哪?我十一不打算去哪,只想再抓STL,然后再说,这一年没用DELPHI了,都忘了!
      

  7.   

    如果用ORACLE数据库很容易实现,用ACCESS我就不清楚了,
    帮你up
      

  8.   

    NO.1:
      with Query1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('Select ID from TableName');
        Open;
        First;
        while Not Eof do
        begin
          with Query2 do
          begin
            Close;
            SQL.Clear;
            SQL.Add('Select * From TableNameX where ID = ' +  Query1.FieldByName('ID').AsString');//打开的是医药管理的;
    你要确定ID是对的,只要不是自增的就可以了,前边加distinct;
       
            Open;
            Edit1.Text := FieldByName('FieldName').AsString;
            //依次就取得了;
          end;
        end;
      end;