日期:2014-05-18  浏览次数:20697 次

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

利用这个表。。

怎么用递归查询出来啊?

很急。。。

------解决方案--------------------
一条sql的话,要根据数据库不同来处理,比如db2用with

在程序中处理的话,就容易很多了,用循环就可以完成了。
------解决方案--------------------
额。。我就是要通过程序来循环。。。可就是不知道怎么循环。。各位帮帮手吧。。


从我这个表中用程序代码来 查询出来!~

具体代码啊。。谢谢
------解决方案--------------------
把数据例子说出来看看
------解决方案--------------------
关注
------解决方案--------------------
要查什么
------解决方案--------------------
node_id //节点代码 parent_id //父节点代码 node_name varchar2(30)
1 -1 中国
2 1 湖南省
3 1 广东省
4 2 长沙市
5 4 五一路
6 2 浏阳
7 5 五一广场
8 3 广州

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

中国
  湖南省
    长沙市
      五一路
        五一广场
    浏阳
  广东省
    广州
------解决方案--------------------
天啊。。UP
------解决方案--------------------
頂啊。
------解决方案--------------------
谁能告诉我啊。
------解决方案--------------------
String id=request.getParameter( "id ");
sql= "select * from table while parentid= "+id;//查询子节点
------解决方案--------------------

------解决方案--------------------
汗。我是要全部展现。。通过一个循环全部展现出来,不是要展示某一条数据
------解决方案--------------------
真的没人帮忙么?

------解决方案--------------------
用dtree的话倒是容易实现上面所说的
------解决方案--------------------
最好加一个 子节点个数
第一次读取parentid为0的记录

判断 如果子节点个数不为零
允许有onClick();//用于读取 parentid为该记录id的子节点
写个函数 根据 select * from table while parentid= "+id;//查询子节点
并把该记录集返回 并打印到页面
当onClick()被触发然后就调用 读取记录的动作(.jsp or servlet);可以用ajax触发查找子节点的函数
(查询数据库并返回的部分可以写到 servlet里 也可以用 struts的action)
不知道说清楚没
大概就是这个思路
最好不要一次把记录集都查找出来
------解决方案--------------------
谢谢了。。。
------解决方案--------------------
我写的很相似的一段代码,可以参考

package mypackage;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import java.util.List;
import javax.swing.tree.*;
import javax.swing.table.*;


public class ClassBrowse
{
public static void main(String[] args) throws Exception