javabean的代码如下:
连接数据库用的是jdbc-odbc 名为news
//sql_data.java
package news;
import java.sql.*;
public class sql_data{
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr = "jdbc:odbc:news";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;public sql_data()
{
try
{Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e)
{
System.err.println("sql_data(): " + e.getMessage());
}
}public void executeInsert(String sql) 
{
try
{
conn = DriverManager.getConnection(sConnStr);
stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();
}
catch(SQLException ex)
{System.err.println("sql_data.executeUpdate:"+ex.getMessage());
}
}public ResultSet executeQuery(String sql)
{
try
{
conn = DriverManager.getConnection(sConnStr);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    rs = stmt.executeQuery(sql);}
catch(SQLException ex)
{
System.err.println("sql_data.executeQuery:"+ex.getMessage());
}
return rs;
}public void executeUpdate(String sql)
{
    try {
    conn = DriverManager.getConnection(sConnStr); 
    stmt = conn.createStatement();
    stmt.executeUpdate(sql);
stmt.close();
    conn.close();
    } 
    catch(SQLException ex) { 
      System.err.println("aq.executeQuery: " + ex.getMessage());
    }
}public void executeDelete(String sql) 
{
try
{
conn = DriverManager.getConnection(sConnStr);
stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
    conn.close();

catch(SQLException ex) 
{
System.err.println("sql_data.executeDelete:"+ex.getMessage());
}
}public void closeStmt(){
    try{
      stmt.close();
     }
    catch(SQLException e){
      e.printStackTrace();
     }
  }public void closeConn(){
    try{
      conn.close();
     }
    catch(SQLException e){
      e.printStackTrace();
     }
  }}jsp页里引用是这样的:
<jsp:useBean id="sqlbean" scope="page" class="news.sql_data"/>

解决方案 »

  1.   

    你没有释放异常就抛出了。
    例如这样:
    public void executeUpdate(String sql)throws SQLException//加上这句话
    {
        try {
        conn = DriverManager.getConnection(sConnStr); 
        stmt = conn.createStatement();
        stmt.executeUpdate(sql);
    stmt.close();
        conn.close();
        } 
        catch(SQLException ex) { 
          System.err.println("aq.executeQuery: " + ex.getMessage());
        }
    }
      

  2.   

    try
    {
    conn = DriverManager.getConnection(sConnStr);
    stmt = conn.createStatement();
    stmt.executeUpdate(sql);
    }
    catch(SQLException ex)
    {System.err.println("sql_data.executeUpdate:"+ex.getMessage());
    }finally{
    stmt.close();
    conn.close();
    }
      

  3.   

    你的java bean 文件缺少你学要的类包!!!!!!!!!!!!!!!!!
      

  4.   

    还有 你把你所有的异常捕捉都改为catch(Exception e)
    {
      System.err.println("sql_data.executeUpdate:"+ex.getMessage());}
      

  5.   

    是不是在bean里缺少IOException呢?我是从网上down的例子,源代码就是这样的,如果缺少应该如何该正呢?
      

  6.   

    flyshp(天堂雨) 你是说把
    catch(SQLException e)
    {System.err.println("sql_data.executeUpdate:"+ex.getMessage());改为:
    catch(Exception e)
    {
      System.err.println("sql_data.executeUpdate:"+ex.getMessage());}
    是吗?
      

  7.   

    <!--以下函数用于显示 -->
    <%!
    String show_data_class_return(JspWriter out,ResultSet rs,int x)
    throws SQLException,IOException{       //91行错误
    rs.absolute(x);
    String tempclass=(String)rs.getString(1);
    out.print("<tr><td align='center'><font size='4'><b>");   //94行错误
    out.print(tempclass);
    out.print("</b></font></td></tr>");
    return tempclass;
    }
    %>
    <%!void show_title(JspWriter out,ResultSet rs,int x)
    throws SQLException,IOException{
    int i,j;
    rs.absolute(x);
    for(i=x,j=6;x<j;x++)
    {
    rs.relative(1);
    out.print("<tr><td>");
    out.print("<b>*  </b>");
    out.print("<font size='3'><a href='newscontext.jsp?title=");
    out.print(rs.getString("title"));
    out.print("'>");
    out.print(rs.getString("title"));
    out.print("</a></font>&nbsp;&nbsp;&nbsp;");
    out.print("<font size='2'>"+rs.getString("d")+"</font>");
    out.print("</td></tr>");
    }
    rs.close();
    }
    %>