运用递归 删除父节点同事删除子节点
来源:互联网 发布:ubuntu如何复制文件夹 编辑:程序博客网 时间:2024/05/22 06:27
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page import="java.sql.*" %>
<%!
private void del(Connection conn,int id){ //定义了del函数
Statement stmt=null;
ResultSet rs=null;
try{
stmt=conn.createStatement();
String sql="select * from article where pid=" +id ;
rs=stmt.executeQuery(sql);
while(rs.next()){
del(conn,rs.getInt("id"));
}
stmt.executeUpdate("delete from article where id="+id); //递归删除子条目
}catch(SQLException e){
e.printStackTrace();
}finally{
try {
if(rs != null) {
rs.close();
rs = null;
}
if(stmt != null) {
stmt.close();
stmt = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
%>
<%
String admin=(String)session.getAttribute("admin");
if(admin==null||!admin.equals("true")){
out.println("请登陆");
return;
}
%>
<%
int id= Integer.parseInt(request.getParameter("id"));
int pid= Integer.parseInt(request.getParameter("pid"));
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/bbs?user=root&password=admin";
Connection conn = DriverManager.getConnection(url);
conn.setAutoCommit(false); //设置不要自动提交
del(conn,id);
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select count(*) from article where pid="+pid);
rs.next();
int count=rs.getInt(1);
rs.close();
stmt.close();
if(count<=0){ // 判断要删除的节点的父节点是否为变成叶子节点
Statement stmtUpdate=conn.createStatement();
stmtUpdate.executeUpdate("update article set isleaf=0 where id ="+pid);
stmtUpdate.close();
}
conn.commit(); //提交SQL语句
conn.setAutoCommit(true); //回复conn的提交方式为自动提交
conn.close();
%>
<html>
<head>
<title>My JSP 'Delete.jsp' starting page</title>
</head>
<body>
<a href="ShowArticleTree.jsp"><font size="7" color="#ff0080">删除成功,点击返回 </font><br></a>
</body>
</html>
<%@ page import="java.sql.*" %>
<%!
private void del(Connection conn,int id){ //定义了del函数
Statement stmt=null;
ResultSet rs=null;
try{
stmt=conn.createStatement();
String sql="select * from article where pid=" +id ;
rs=stmt.executeQuery(sql);
while(rs.next()){
del(conn,rs.getInt("id"));
}
stmt.executeUpdate("delete from article where id="+id); //递归删除子条目
}catch(SQLException e){
e.printStackTrace();
}finally{
try {
if(rs != null) {
rs.close();
rs = null;
}
if(stmt != null) {
stmt.close();
stmt = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
%>
<%
String admin=(String)session.getAttribute("admin");
if(admin==null||!admin.equals("true")){
out.println("请登陆");
return;
}
%>
<%
int id= Integer.parseInt(request.getParameter("id"));
int pid= Integer.parseInt(request.getParameter("pid"));
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/bbs?user=root&password=admin";
Connection conn = DriverManager.getConnection(url);
conn.setAutoCommit(false); //设置不要自动提交
del(conn,id);
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select count(*) from article where pid="+pid);
rs.next();
int count=rs.getInt(1);
rs.close();
stmt.close();
if(count<=0){ // 判断要删除的节点的父节点是否为变成叶子节点
Statement stmtUpdate=conn.createStatement();
stmtUpdate.executeUpdate("update article set isleaf=0 where id ="+pid);
stmtUpdate.close();
}
conn.commit(); //提交SQL语句
conn.setAutoCommit(true); //回复conn的提交方式为自动提交
conn.close();
%>
<html>
<head>
<title>My JSP 'Delete.jsp' starting page</title>
</head>
<body>
<a href="ShowArticleTree.jsp"><font size="7" color="#ff0080">删除成功,点击返回 </font><br></a>
</body>
</html>
- 运用递归 删除父节点同事删除子节点
- 递归删除子节点
- 递归删除父节点及所有子节点
- javascript递归删除(DOM)子节点示例
- 删除子父节点中的某个节点
- rails 自关联 删除父节点删除子节点
- dtree 删除子节点
- 删除子节点-removeChild
- javascript 子节点删除
- JS删除子节点
- Java递归删除树形结构父节点
- 删除父节点下的所有子节点
- javascript删除父节点中的所有子节点
- 删除父节点下的所有子节点
- 删除节点及所有子节点
- 删除父节点同时删除该节点上的所有子节点(oracle)
- 递归删除所有叶子节点
- zookeeper递归删除所有节点
- MFC .。。CReBar 上添加工具栏背景
- 使用Mac OS X系统必须了解的10条命令
- <<高效程序员的45个习惯>>
- 如果让我重做一次研究生
- PXE——Centos 6.0(DHCP,tftp,http,kickstart)
- 运用递归 删除父节点同事删除子节点
- Fetion 2011 破解面板宽度限制
- 判断指针状态 Demo
- Request Free License Key and Install SAP License Key using SLICENSE Transaction Code
- dp专辑 G - Fibonacci [ 快速幂]
- python3 多线程
- 读C++ Primer 之构造函数陷阱
- adplus抓取dmp文件,crash和hang两种方式
- 异常牛X的Policy