add a global variable, for exampleSet objRS = Server.CreateObject("ADODB.Recordset") 
objRS.Fields.Append "txt", adVarChar, 100
'.... add additional columns
objRS.Open Sub prolist(leefid)    producttmp=""
strsql2="SELECT *  FROM t_product where lanmu=" & leefid
 set rs=server.CreateObject("adodb.recordset")
 cmdtemp.commandtext=strsql2
 rs.Open cmdtemp , ,1, 1
 if rs.eof then
strsql1="select * from tree where par_id="&leefid
 set rs1=server.CreateObject("adodb.recordset")
 cmdtemp.commandtext=strsql1
 rs1.Open cmdtemp , ,1, 1
 do while not rs1.eof
row_id=rs1("row_id")
                                    prolist  row_id   '递归调
rs1.movenext
 loop
end if do while not rs.eof 
                        objRS.AddNew
                        objRS.Fields("txt") = .....
                        rs.MoveNext
loop rs.close
        set rs=nothing
end Sub
but your code looks weird, since you are recursively opening multiple recordsets, maybe there are better ways to do it

解决方案 »

  1.   

    saucer(思归)  这又时间呀
      

  2.   

    我现在用C#作,刚好也碰到这个问题,我用的是ADO.NET,代码我写一段出来,希望能帮助你
    dc = new DataConnection();
    list = new ArrayList();
    lbnBrowse.Enabled = true;
    switch(ddlQueryCondi.SelectedValue)
    {
    case "1":
    sql = "SELECT nreg_firm FROM NameRegister";
    dr = dc.GetDataReader(sql);
    while(dr.Read())
    {
    list.Add(dr["nreg_firm"].ToString());
    }

    ltbDynamic.DataSource = list;
    ltbDynamic.DataBind();
    break;
    case "2":
    sql = "SELECT nreg_stopdate FROM NameRegister";
    dr = dc.GetDataReader(sql);
    while(dr.Read())
    {
    list.Add(dr.GetDateTime(0).ToString("yyyy-MM-dd"));
    }

    ltbDynamic.DataSource = list;
    ltbDynamic.DataBind();
    break;
    case "3":
    sql = "SELECT distinct forg_rdepartment FROM FiliationOrganization";
    dr = dc.GetDataReader(sql);
    while(dr.Read())
    {
    list.Add(dr["forg_rdepartment"].ToString());
    }

    sql = "SELECT distinct scor_rdepartment FROM SubjectionCorporation";
    dr = dc.GetDataReader(sql);
    while(dr.Read())
    {
    list.Add(dr["scor_rdepartment"].ToString());
    } sql = "SELECT distinct micr_rdepartment FROM Microeconomic";
    dr = dc.GetDataReader(sql);
    while(dr.Read())
    {
    list.Add(dr["micr_rdepartment"].ToString());
    }
    break;
    }
      

  3.   

    用ArrayList实现的,但是我不知道,性能会不会很低
      

  4.   

    谢谢 saucer(思归) ,问题已经解决了
    不过不是用了这方法,因为这方法的效率太低,我现在是更改了数据表的结构
    然后就比较容易实现了,谢谢!!