ResultSet rs = get result with SQL"select ID, parentID,name from table where parentID='0' order by ID"
while(rs.next()) {
move data from rs to Vector.
}
for(has next Vector) {
id = currentVector.ID;
out.println(currentVector.name);
getChildren(id);
}
------------------------
void getChildren(String parentId) {
ResultSet rs = get result with SQL"select ID, parentID,name from table where parentID='" + parentId + "' order by ID"
while(rs.next()) {
move data from rs to Vector.
}
for(has next Vector) {
id = currentVector.ID
out.println(currentVector.name);
getChildren(id);
}
}
while(rs.next()) {
move data from rs to Vector.
}
for(has next Vector) {
id = currentVector.ID;
out.println(currentVector.name);
getChildren(id);
}
------------------------
void getChildren(String parentId) {
ResultSet rs = get result with SQL"select ID, parentID,name from table where parentID='" + parentId + "' order by ID"
while(rs.next()) {
move data from rs to Vector.
}
for(has next Vector) {
id = currentVector.ID
out.println(currentVector.name);
getChildren(id);
}
}
解决方案 »
- 求cache运用实例
- " a.county_id = $a.county_id$".replaceAll(" *.county_id*county_id\\$","1=1")
- 谁能用通俗的语言给我解释一下几个简单修饰符
- 菜鸟新问:望详解!
- 麻烦您给讲解一下Timer的用法和注意事项
- div定位问题(当点击一个图片按纽,图片居中显示)
- 向高手求助,路过要来看一下呀!
- ???????JBuilder6中怎样解决中文问题?????????????????????????????
- 请问哪位能推荐几种好的反编译软件,在哪里可以下载
- jbuilder 3.5 enterprise 的 serial 和 key
- 这个sql语句是什么意思?
- 请问该怎样触发Enter键的按下事件?
数据取出后如何进行封装?
如果用两回查询数据库就可以解决你上述问题
第一次取出所有parentID为0的数据
第二次取出所有数据
然后根据你的条件,进行循环递归
while(rs.next()) {
move data from rs to Vector.
}
++++这里要close ResultSet和PrepareStatement
for(has next Vector) {
ID parentID name
1 01 第一
2 02 第二
3 01.01 一的孩子
4 02.01 二的孩子
5 01.01.01 一的孩子的孩子
这样可能就不需要递归了吧