var
  Temp: TADOQuery;
  NodeInfo: TCompany;
  FParentNode: TTreeNode;
begin
  Temp := TADOQuery.Create(self);
  Temp.Connection := dm.con1;
  Temp.SQL.Text := 'select * from bt_corp';
  Temp.Open;
  tree_Company.Items.BeginUpdate;
  while not Temp.Eof do
  begin
    Application.ProcessMessages;
    NodeInfo := TCompany.Create;
    NodeInfo.CORP_CODE := Temp.fieldbyname('CORP_CODE').AsString;
    NodeInfo.SUPER_CORP_CODE := Temp.fieldbyname('SUPER_CORP_CODE').AsString;
    NodeInfo.CORP_NAME := Temp.fieldbyname('CORP_NAME').AsString;
    NodeInfo.ADDR := Temp.FieldByName('ADDR').AsString;
    NodeInfo.LINK_MAN := Temp.FieldByName('LINK_MAN').AsString;
    NodeInfo.TEL := Temp.FieldByName('TEL').AsString;
    NodeInfo.SIMPLE_NAME := Temp.FieldByName('SIMPLE_NAME').AsString;
    NodeInfo.E_NAME := Temp.FieldByName('E_NAME').AsString;
    NodeInfo.FAX := Temp.FieldByName('FAX').AsString;
    NodeInfo.EMAIL := Temp.FieldByName('EMAIL').AsString;
    NodeInfo.CITY := Temp.FieldByName('CITY').AsString;
    NodeInfo.PROV := Temp.FieldByName('PROV').AsString;
    NodeInfo.RMK := Temp.FieldByName('RMK').AsString;
    FParentnode := tree_Company.Items.AddChildObject(AParentNode,Temp.fieldbyname('CORP_NAME').AsString, NodeInfo);
    FParentnode.data := NodeInfo;
    RefreshTreeView(FParentnode,Temp.fieldbyname('CORP_CODE').AsString);
    Temp.Next;
  end;
  tree_Company.Items.EndUpdate;
  FreeAndNil(Temp);在while循环体里报“ORA-01000: 超出打开游标的最大数” 错误,请问如何解决?