帮忙改改这个简单的bean,必有重谢。
小弟想写个递归读取数据库的bean放到jsp页面里,
可是运行后,输出System.out.println("id="+id);这一句却是在tomcat的控制台里,为什么?还有,我的数据库有数据,条件也满足,为什么没数据输出呢?连这句System.out.println(" test");都没输出,各位大侠帮我改改,谢谢。
package Tree;
import java.sql.*;
public class Test{
private Statement stmt = null;
ResultSet rs = null;
private Connection conn = null;
public Test(){
}
public void OpenConn(String dsn,String uid,String pwd){
try{
dsn = "jdbc:odbc:"+dsn;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection(dsn,uid,pwd);
}catch(Exception ex){
System.out.println("aq.executeQuery:"+ex.getMessage());
}
}
public ResultSet executeQuery(String sql){
rs = null;
try{
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;
}
public void executeUpdate(String sql){
stmt = null;
rs = null;
try{
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
stmt.executeQuery(sql);
stmt.close();
conn.close();
}
catch(SQLException ex){
System.out.println("aq.executeQuery:"+ex.getMessage());
}
}
public void closeStmt(){
try{
stmt.close();
}
catch(SQLException ex){
System.err.println("aq.executeQuery:"+ex.getMessage());
}
}
public void closeConn(){
try{
conn.close();
}
catch(SQLException ex){
System.err.println("aq.executeQuery:"+ex.getMessage());
}
}
public void a(int id)
{
try{
OpenConn("tree","","");
String sql="select * from treemenu where par_id = id";
ResultSet rs = executeQuery(sql);
while(rs.next())
{
for(int j=1;j<=rs.getMetaData().getColumnCount();j++)
{
System.out.print(rs.getObject(j)+"\t");
}
System.out.println("<br>");
System.out.println(" test");
}
closeStmt();
closeConn();
System.out.println("id="+id);
if (id==0) return;
else a(--id);
}catch(SQLException e){
System.out.println(e.getMessage());
}
}
}
index.jsp的代码:
<%@ page contentType = "text/html;charset = gb2312"%>
<%@ page language = "java" import="java.sql.*"%>
<jsp:useBean id="TestBean" scope = "page" class = "Tree.Test"/>
<%
TestBean.a(11);
out.println("oo<br>");
%>