我的关于数据库连接的JAVABEAN代码是:
QueryBeanOne.java:
   package tom;
import java.sql.*;
public class QueryBeanOne {
    String ODBCDataSource="";
    String tableName="";  
    String user="";
    String secret="";   
    StringBuffer queryResult;
    public QueryBeanOne(){
     StringBuffer queryResult = new StringBuffer();
     try{
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      }catch(ClassNotFoundException e){
      queryResult=new StringBuffer();
      queryResult.append(" "+e);
     }    
    }
    public void setODBCDataSource(String s){
     ODBCDataSource = s.trim();
    }
    public String getODBCDataSource(){
     return ODBCDataSource;
    }
    public void setTableName(String s){
     tableName=s.trim();
    }
    public String getTableName(){
     return tableName;
    }
    public void setSecret(String s){
     secret=s.trim();
    }
    public String getSecret(){
     return secret;
    }
    public void setUser(String s){
     user=s.trim();
    }
    public String getUser(){  
     return user;
    }
    public StringBuffer getQueryResult(){
     Connection con;
     Statement sql;
     ResultSet rs;
     try{
     queryResult.append("<table border=1>");
     String source="jdbc:odbc:"+ODBCDataSource;
     String id=user;
     String password=secret;
     con=DriverManager.getConnection(source,id,password);
     DatabaseMetaData metadata=con.getMetaData();
     ResultSet rs1=metadata.getColumns(null, null,tableName, null);
     int count=0;
     queryResult.append("<tr>");
     while(rs1.next()){
     count++;
     String clumnName=rs1.getString(4);
     queryResult.append("<td>+clumnName+</td>");
     }
     queryResult.append("</tr>");
     sql=con.createStatement();
     rs=sql.executeQuery("select * form "+tableName);
     while(rs.next()){
     queryResult.append("<tr>");
     for(int k=1;k<=count;k++){
     queryResult.append("<td>"+rs.getString(k)+"</td>");
     }
     queryResult.append("</tr>");
     }
     queryResult.append("</table>");
     con.close();
     }catch(SQLException e){ queryResult.append(e);}
     queryResult=new StringBuffer("212121");
     return queryResult;
    }    
}
经过验证,前面的传数都不错,感觉是getQueryResult()里面有问题。每当在JSP文件里面要用
  out.println("QueryResult"+database.getQueryResult());时,就会出问题。删去这个句就好了。
相关jsp文件是:
<%@ page contentType="text/html; charset=gb2312" %>
<%@page import="tom.QueryBeanOne"%>
<jsp:useBean id="database" class="tom.QueryBeanOne" scope="request"/>
<jsp:setProperty name="database" property="*"/>
<html>
<head><title>无标题文档</title>
</head><body>
   <jsp:getProperty name="database" property="tableName"/>表查询到记录<br/>
   <%
     out.println("QueryResult"+database.getQueryResult());
%>
</body>
</html>
错误提示是:
description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: An exception occurred processing JSP page /inquireOne.jsp at line 14请大牛解答。谢谢。
 

解决方案 »

  1.   

    1.return queryResult;
    应该放在catch体外面。
    2.out.println("QueryResult"+database.getQueryResult().toString());
    3.应该把QueryBeanOne类改为Servlet类。
      

  2.   

    哦,谢谢,我去试一下啊,
    我这是书的一个例子,是个JAVABEAN的。
      

  3.   

    用mssql吧,说也不好说,可以的话,加我QQ798588567,来个远程协助就OK啦!!
      

  4.   

    我已搞了一个MSSQL2000的数据库安装了,数据源也设置了(数据源名:mymoon),但是还是连接有问题。
    唉。。