当前位置:编程学习 > JAVA >>

新手入门:树形结构的实现

本例采用Access做为实例,所有还有很多要改进的地方。


请读者自已改进



package product;


import java.sql.*;


public class ConnectDB{


String strDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";


String strConnstr="jdbc:odbc:product";


Connection conn=null;


ResultSet rs=null;


Statement stmt=null;


// Statement stmt=null;


//构造函数


public ConnectDB(){


try{


Class.forName(strDBDriver); conn=DriverManager.getConnection(strConnstr);


stmt=conn.createStatement();


}


catch(Exception e){


System.out.println(e);


}


}



public ResultSet execute(String sql){


rs=null;


try{



rs=stmt.executeQuery(sql);


}


catch(SQLException e){


System.out.println(e.getMessage());


}


return rs;


}



public Connection getConnection(){


return conn;


}



public boolean close(){


try{


if(this.rs!=null){


this.rs.close();


}


if(stmt!=null){


this.stmt.close();


}


if(conn!=null){


this.conn.close();


}


return true;


}catch(Exception err){


return false;


}


}



}


//=======================================


package product;


import java.sql.*;


public class catalog


{


ConnectDB conn=new ConnectDB();


String str=null;


String sql=null;


ResultSet rs=null;


String AncestorID,LinkStr;



public String getCatalog(){



str="";


rs.close();


}


catch(SQLException e){


System.out.println(e.getMessage());


}


return str;


}


public void setCatalog(String CatalogName,String FatherID){


int ChildNum=0;


if(FatherID.compareTo("-1")!=0){


sql="select AncestorID,ChildNum,linkstr from catalog where productid="+FatherID;


//out.println(sql);


try{


rs=conn.execute(sql);


if(rs.next()){


AncestorID=rs.getString("AncestorID");


ChildNum=rs.getInt("ChildNum");


LinkStr=rs.getString("linkstr");


}


else{


AncestorID="";


LinkStr="1";


ChildNum=0;


}


LinkStr=LinkStr+(ChildNum+1);


//out.println(AncestorID+":"+LinkStr+":"+ChildNum);


sql="insert into catalog(title,fatherID,AncestorID,LinkStr) values(""+CatalogName+"",""+FatherID+"",""+AncestorID+"",""+LinkStr+"")";


//out.println(sql);


conn.execute(sql);


sql="update catalog set childNum="+(ChildNum+1)+" where productID="+FatherID;


//out.println("
"+sql);


conn.execute(sql);


}catch(Exception e){


System.out.println(e);


}



}else{


sql="insert into catalog(title,fatherID,LinkStr) values(""+CatalogName+"",""+FatherID+"","1")";


//out.println(sql);


try{


conn.execute(sql);


sql="select top 1 productID from catalog order by productID desc ";


rs=conn.execute(sql);


if(rs.next()){


AncestorID=rs.getString("productID");


}


else{


AncestorID="";


}


rs.close();


sql="update catalog set AncestorID=""+AncestorID+"" where productID="+AncestorID;


//out.println(sql);


conn.execute(sql);


}catch(Exception e){


System.out.println(e);



}



}//end if



if(rs!=null){


try{


rs.close();


}catch(Exception e){


System.out.println(e);


}


}



}



public void

补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,