其实我很不愿意发贴!

07-04-16 15756404
各位。。我真的很不愿意在这发贴。。。

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

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 下一页