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
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
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;
}
不过不是用了这方法,因为这方法的效率太低,我现在是更改了数据表的结构
然后就比较容易实现了,谢谢!!