其实我很不愿意发贴!

15756404 07-04-16

各位。。我真的很不愿意在这发贴。。。

但是我没办法了。。。。我要实现的要求也很简单。请各位多帮忙

node_id varchar2(50), //节点代码
parent_id varchar2(50), //父节点代码
node_name varchar2(30), //节点名称
isnt_avile varchar2(2), //是否有效
remark varchar2(100), //备注

利用这个表。。

怎么用递归查询出来啊?

node_id //节点代码 parent_id //父节点代码 node_name varchar2(30)
1 -1 中国
2 1 湖南省
3 1 广东省
4 2 长沙市
5 4 五一路
6 2 浏阳
7 5 五一广场
8 3 广州

用程序查出来的表现形式是:

中国
  湖南省
    长沙市
      五一路
        五一广场
    浏阳
  广东省
    广州

今天下班之前就要完工。我真是没办法了。。请大家贴出代码来 谢谢了。。用JSP+SERVLET实现

15756404
2007-04-16 15:20

各位帮帮手吧2。。

dong198645
2007-04-16 17:03

你好,我是个新手,我想问一下,你到底要问些什么呢?

sgysgy
2007-04-16 17:32

1.写一个保持数据的JavaBean;
2.把符合要求的数据全部取出来放在ArrayList里;
3.public ArrayList taxis(int e)
{
for (int i = 0, size = list.size(); i < size; i++) {
SortShopBean ssb = (SortShopBean) list.get(i);
if (ssb.getTypeid() == e){
nlist.add(ssb);
for (int j = 0; j < size; j++) {
SortShopBean nssb = (SortShopBean) list.get(j);
if (nssb.getTypeid() == ssb.getId()) {
nlist.add(nssb);
taxis(nssb.getId());
}
}
}
}
return nlist;
}

sgysgy
2007-04-16 17:37

遇事多想想,我也是想了好久才出来的,上面是排好顺序了,
这个是加符号的
ArrayList<SortShopBean> listb = new ArrayList<SortShopBean>();
String stra = "♂";
String strb = "┄";
public ArrayList suan(ArrayList al, int id)
{
for (int i = 0, size = al.size(); i < size; i++) {
SortShopBean tb = (SortShopBean) al.get(i);
if(tb.getTypeid()==id){
stra = strb + stra;
if(tb.getTypeid()==0)stra="♂";
tb.setType(stra+tb.getType());
listb.add(tb);
stra = strb + stra;
for(int j=i+1;j<size;j++){
SortShopBean tbb = (SortShopBean)al.get(j);
if(tbb.getTypeid()==tb.getId()){
tbb.setType(stra+tbb.getType());
listb.add(tbb);
suan(al,tbb.getId());
stra = "┄♂";
//strb = "┄";
}
}
}
}
return listb;
}
这是最基本的办法,不知道大家都怎么做的?
听说可以把数据导成xml,再用Ajax什么的更好用.不过不会 - -!刚工作4个月

2Go 1 2 下一页