看看这样行吗?没有试过
String sql = "select *,A.children from deeptree T,(select count(*) as children from deeptree where parentid = T.id) as A where parentid="+NodeId+" order by id";
String sql = "select *,A.children from deeptree T,(select count(*) as children from deeptree where parentid = T.id) as A where parentid="+NodeId+" order by id";
解决方案 »
- 点击下拉框如何在action中接值,并最后使页面内容相应变化
- 类似于QQ邮箱或者163邮箱上传文件的实现
- 学Struts2请高手帮我分析一下可能是哪出错了
- 本地数据库与远程数据库的上传问题
- 无法写入数据库
- //*******初学者:arcIMS对应的一些applet的java或class文件在哪?*******//
- Tomcat5.5 打war包后项目无法正确执行查询
- 在JBuilderX中使用水晶报表是免费的吗?
- SSH框架
- ajax 总是success,修改url也没用
- 一个弹出窗口的疑问
- 用getAttribute读取未初始化的session对象的值,老是出错,是不是要用到servlet初始化?
<%@ page import = "java.sql.*, java.io.*, java.util.*,com.javabean.SQLBean" %>
<%
response.setContentType("text/xml");ResultSet rs=null;String NodeId=(String)request.getParameter("id");
if (NodeId==null){NodeId="1";}String ResponseXml="<?xml version='1.0' encoding='gb2312'?>\r\n";
ResponseXml+="<xml>\r\n";SQLBean sqlbean = new SQLBean();
String sql = "select *,(select count(*) from deeptree where parentid = T.id) as children from deeptree T where parentid="+NodeId+" order by id";try{rs = sqlbean.executeQuery(sql);
if (rs!=null){
while(rs.next()){
ResponseXml+="<TreeNode id='"+java.net.URLDecoder.decode(rs.getString("id"))+"'>\r\n";
ResponseXml+="<NodeText><![CDATA["+java.net.URLDecoder.decode(rs.getString("content"))+"]]></NodeText>\r\n";
ResponseXml+="<title></title>\r\n";
if(rs.getString("link")==null){
ResponseXml+="<NodeUrl></NodeUrl>\r\n";
}else{
ResponseXml+="<NodeUrl><![CDATA["+java.net.URLDecoder.decode(rs.getString("link"))+"]]></NodeUrl>\r\n";
}
ResponseXml+="<child>"+java.net.URLDecoder.decode(rs.getString("children"))+"</child>\r\n";
if(rs.getString("target") == null){
ResponseXml+="<target></target>\r\n";
}else{
ResponseXml+="<target>"+java.net.URLDecoder.decode(rs.getString("target"))+"</target>\r\n";
}
ResponseXml+="</TreeNode>\r\n";
}
}
}
catch(Exception ex){
System.out.println("Error in executeQuery(): \n" + sql +ex);
}if(rs!=null){
rs.close();
}
sqlbean.close();ResponseXml+="</xml>";
out.write(ResponseXml);
System.out.println(ResponseXml);%>
你试试这个,不知道是不是你想要的结果
这个语句只能通过子查询来实现.
或者使用临时表了.如果不介意.
可以使用 MySQL 4.1
非常感谢大家的帮助!
我这个问题,如果分成两条语句执行,好像不行吧?
或者是把子查询的结果放到一个vector中。然后在用纯java来模拟数据库查询。