用的是mysql+tomcat.
下面是我用来访问数据库的java类,
public class DBAccess {
 final private String DBDRIVER = "com.mysql.jdbc.Driver";
 final private String DBURL = "jdbc:mysql://localhost:3306/mytest?";
 public Connection conn;
 public PreparedStatement pstmt = null ;
 public Statement pst = null;
 public ResultSet rs = null;
 
 public void OpenDB(String strDBName,String strDBPassword){
  //DB连接 
  try{
Class.forName(DBDRIVER);
conn= java.sql.DriverManager.getConnection(
DBURL + "user=" + strDBName + "&" + "password="+ strDBPassword);
  }catch(Exception ex){
  System.out.println(ex);
  }
 }  public ResultSet ExecuteSQL(String strSql,ArrayList arrPara){
  //SQL 执行
  try{
  int i = 0;
pstmt = conn.prepareStatement(strSql);
pst=conn.createStatement();
if(arrPara.size()!=0){
//有条件SQL
for(i=0; i<arrPara.size(); i++){
pstmt.setString(i+1,arrPara.get(i).toString());
}
rs = pstmt.executeQuery();
}
else{
//无条件SQL(全件检索)
rs = pst.executeQuery(strSql);
}
  }catch(Exception ex){
System.out.println(ex);
  }
  return rs;
 }
public void DBClose(){
//DB 关闭
try{
rs.close();
pst.close();
pstmt.close();
conn.close();
}catch(Exception ex){
System.out.println(ex);
}
}
}
<%@ page language="java" import="java.sql.*,DBAccess.*,java.util.*" %>
<html>
<head>    
    <title>`test</title>
</head>
<%!
DBAccess dbaccess = new DBAccess();
%><%
//String sql = "SELECT * FROM mytable where name=?" ;
String sql = "SELECT * FROM mytable" ;
ResultSet rs = null ;
try{
ArrayList arrPara = new ArrayList();
dbaccess.OpenDB("root","ck");
//arrPara.add("ck");
rs = dbaccess.ExecuteSQL(sql,arrPara);
//out.println("aa bb");  while(rs.next()){
out.println(rs.getString("birth"));
}
}
catch(Exception ex){
System.out.println(ex);
}
%>
<BODY>
</BODY>
<%dbaccess.DBClose();%>
</html>我用的是mysql+tomcat.
下面是我用来访问数据库的java类,
public class DBAccess {
 final private String DBDRIVER = "com.mysql.jdbc.Driver";
 final private String DBURL = "jdbc:mysql://localhost:3306/mytest?";
 public Connection conn;
 public PreparedStatement pstmt = null ;
 public Statement pst = null;
 public ResultSet rs = null;
 
 public void OpenDB(String strDBName,String strDBPassword){
  //DB连接 
  try{
Class.forName(DBDRIVER);
conn= java.sql.DriverManager.getConnection(
DBURL + "user=" + strDBName + "&" + "password="+ strDBPassword);
  }catch(Exception ex){
  System.out.println(ex);
  }
 }  public ResultSet ExecuteSQL(String strSql,ArrayList arrPara){
  //SQL 执行
  try{
  int i = 0;
pstmt = conn.prepareStatement(strSql);
pst=conn.createStatement();
if(arrPara.size()!=0){
//有条件SQL
for(i=0; i<arrPara.size(); i++){
pstmt.setString(i+1,arrPara.get(i).toString());
}
rs = pstmt.executeQuery();
}
else{
//无条件SQL(全件检索)
rs = pst.executeQuery(strSql);
}
  }catch(Exception ex){
System.out.println(ex);
  }
  return rs;
 }
public void DBClose(){
//DB 关闭
try{
rs.close();
pst.close();
pstmt.close();
conn.close();
}catch(Exception ex){
System.out.println(ex);
}
}
}
这是我的jsp 代码
<%@ page language="java" import="java.sql.*,DBAccess.*,java.util.*" %>
<html>
<head>    
    <title>`test</title>
</head>
<%!
DBAccess dbaccess = new DBAccess();
%><%
//String sql = "SELECT * FROM mytable where name=?" ;
String sql = "SELECT * FROM mytable" ;
ResultSet rs = null ;
try{
ArrayList arrPara = new ArrayList();
dbaccess.OpenDB("root","ck");
//arrPara.add("ck");
rs = dbaccess.ExecuteSQL(sql,arrPara);
//out.println("aa bb");  while(rs.next()){
out.println(rs.getString("birth"));
}
}
catch(Exception ex){
System.out.println(ex);
}
%>
<BODY>
</BODY>
<%dbaccess.DBClose();%>
</html>
想请教大家一下,我执行那句有条件查询的sql时,这画面上就可以打出查询结果。
可是我执行那句无条件检索的sql时就打不出结果,这是为什么呢?而且这个java类的
两个分支我都已经测过了,都是没有问题的,为什么加在jsp中就不行了呢?大家帮忙给看一下,谢谢了,比较急,在线等