java文件
QueryBean.java
package test;
import java.sql.*; 
public class QueryBean 

  public static String query_statement; /*定义sql语句*/ 
  public static String param[]; /*查询条件*/ 
  public static ResultSet result=null; /*查询结果*/
  public static Connection conn; 
  //设置构造函数
  public  QueryBean(String query_statement)throws Exception 
  {     
    this.query_statement=query_statement;    
           //query.setConnection("com.microsoft.jdbc.sqlserver.SQLServerDriver","jdbc:microsoft:sqlserver://10.0.0.31:1433;DatabaseName=testDb","sa","sa");  } 
  ///数据库连接 
  public  QueryBean()throws Exception{
        this.setConnection("com.microsoft.jdbc.sqlserver.SQLServerDriver","jdbc:microsoft:sqlserver://10.0.0.31:1433;DatabaseName=testDB","sa","sa");
         System.out.println("-----------------------");
   }
 //设置查询参数
  public  void setParam(String[] param) 
  { 
    this.param=param; 
  } 
  public static  void  main(String  arg[])throws Exception     
           {
            QueryBean querybean=new QueryBean(); 
            System.out.println("这是一个测试");
           }    //设置SQL查询语句
  public  void setQuerystatement(String query_statement) 
  { 
    this.query_statement=query_statement; 
 } 
  //设置连接参数
  public  void setConnection(String driverName,String jdbcURL,String username,String passwd) throws Exception 
  { 
    Connection conn1; 
    Class.forName(driverName); 
    conn1=DriverManager.getConnection(jdbcURL,username,passwd); 
    conn1.setAutoCommit(false); 
    this.conn = conn1; 
  } 
  /*获取查询结果*/ 
  public static ResultSet getResult() 
  { 
    try 
    { 
      PreparedStatement select_stm=conn.prepareStatement(query_statement,java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); 
      if (param!=null) 
        for(int i=0;i<param.length;i++) 
         select_stm.setString(i+1,param[i]); 
      result=select_stm.executeQuery(); 
    }catch(Exception e){System.out.println(e);} 
    return result; 
  } 
  /*对数据库进行增加记录操作*/ 
  public static void insertRecord() throws SQLException,java.io.UnsupportedEncodingException 
  { 
    try 
    { 
      PreparedStatement insert_stm=conn.prepareStatement(query_statement); 
      if (param!=null) 
        for(int i=0;i<param.length;i++) 
           insert_stm.setString(i+1,param[i]); 
      insert_stm.executeUpdate(); 
      insert_stm.close(); 
      conn.commit(); 
    } 
    catch(Exception e) 
    { 
      System.out.println(e); 
      conn.rollback(); 
    } 
  } 
  /*对数据记录进行更新操作*/ 
  public static void updateRecord() throws SQLException,java.io.UnsupportedEncodingException 
  { 
    try 
    { 
      PreparedStatement update_stm=conn.prepareStatement(query_statement); 
      if (param!=null) 
        for (int i=0;i<param.length;i++) 
          update_stm.setString(i+1,param[i]); 
      update_stm.executeUpdate(); 
      update_stm.close(); 
      conn.commit(); 
     } 
     catch(Exception e) 
     { 
       System.out.println(e); 
       conn.rollback(); 
     } 
  } 
  /*删除数据记录*/ 
  public static void deleteRecord() throws SQLException,java.io.UnsupportedEncodingException 
  { 
    try 
    { 
      PreparedStatement delete_stm=conn.prepareStatement(query_statement); 
      if (param!=null) 
        for (int i=0;i<param.length;i++) 
          delete_stm.setString(i+1,param[i]); 
      delete_stm.executeUpdate(); 
      delete_stm.close(); 
      conn.commit(); 
    } 
    catch(Exception e) 
    { 
      System.out.println(e); 
      conn.rollback(); 
    } 
   } 

jsp 文件 ********************************
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<jsp:useBean id="dbbean" scope="session" class="test.QueryBean" />
<HTML>
<head>
</head>
<BODY>
<%    //查询数据库
 public ResultSet rs; 
  public String course="dfg";
  public String school="dddddd";
  public String studydate="sssssssss";
public  String rule="gggggggggg";
 public  String insertstringSqlString="insert into FIXDATA(SITE_ID,SAMPLING_DATETIME,ACTUAL_VALUE,ALTERANT_VALUE)values("+course+","+school+","+studydate+","+rule+")"; 
   System.out.println("-----------------------");
  //String stringSqlString="insert into FIXDATA(SAMPLING_DATETIME,SITE_ID,,CTUAL_VALUE,ALTERANT_VALUE)  values( "2006.08.16","zz","aa","7.11","1.11","1.11")";
 String stringSqlString="SELECT * FROM FIXDATA";
  try
  {
    //设置连接
    //query.setConnection("com.microsoft.jdbc.sqlserver.SQLServerDriver","jdbc:microsoft:sqlserver://10.0.0.31:1433;DatabaseName=testDb","sa","sa");
    //设置SQL语句
//QueryBean  insertstr =new QueryBean(insertstringSqlString);
dbbean.QueryBean();
dbbean.QueryBean(insertstringSqlString) ;
dbbean.QueryBean(stringSqlString) ;
//.setQuerystatement(stringSqlString);
//QueryBean
//insertstr.insertRecord() ;
    //query.setQuerystatement(insertstringSqlString);
//insertstr.setQuerystatement(stringSqlString);
    //得到查询结果
  //query.insertRecord(insertSqlString);  
rs=dbbean.getResult();
  }
  catch(SQLException e1) 
  {
    out.print("SQL异常!");
  }
%>
<table width="75%" height="117" border="4" align="center" cellpadding="3" cellspacing="2" borderColor=#ffffff borderColorLight="#CCD7F7" borderColorDark="#EBEFFC" class="itemList" id="tabList">
  <tr align="center" valign="middle"> 
    <td>时间</td>
    <td>站点</td>
    <td>污染物</td>
    <td>超标值</td>
    <td>标准值</td>
    <td>倍数</td>
    <td>备注</td>
  </tr>
  <%         
       while(rs.next())
       { 
         %>
  <tr class='tr1' align="center" valign="middle"> 
    <td><%=rs.getString("SITE_ID") %></td>
    <td><%=rs.getString("SAMPLING_DATETIME") %></td>
    <td><%=rs.getString("ACTUAL_VALUE")%></td>
    <td><%=rs.getString("ALTERANT_VALUE")%></td>
    <td><%=rs.getString("FLAG")%></td>
    <td><%=rs.getString("AREA_ID")%>倍</td>
    
  </tr>
  <%         
        
        }
           %>
  <tr align="center" valign="middle"> 
    <td>合计</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</BODY>
</HTML>

解决方案 »

  1.   

    错误提示***********************8
    HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    Illegal modifier for the variable rs; only final is permittedAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    Illegal modifier for the variable course; only final is permittedAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    Illegal modifier for the variable school; only final is permittedAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    Illegal modifier for the variable studydate; only final is permittedAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    Illegal modifier for the variable rule; only final is permittedAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    Illegal modifier for the variable insertstringSqlString; only final is permittedAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    The method QueryBean() is undefined for the type QueryBeanAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    The method QueryBean(String) is undefined for the type QueryBeanAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    The method QueryBean(String) is undefined for the type QueryBean
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    Illegal modifier for the variable rs; only final is permittedAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    Illegal modifier for the variable course; only final is permittedAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    Illegal modifier for the variable school; only final is permittedAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    Illegal modifier for the variable studydate; only final is permittedAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    Illegal modifier for the variable rule; only final is permittedAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    Illegal modifier for the variable insertstringSqlString; only final is permittedAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    The method QueryBean() is undefined for the type QueryBeanAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    The method QueryBean(String) is undefined for the type QueryBeanAn error occurred at line: 11 in the jsp file: /testbean1/queryJavaBeanJsp.jsp
    Generated servlet error:
    The method QueryBean(String) is undefined for the type QueryBean
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      

  2.   

    查询好象游标都没有啊!
    next()
      

  3.   

    错误出在jsp这里
    <% //查询数据库
    public ResultSet rs;
    public String course="dfg";
    public String school="dddddd";
    public String studydate="sssssssss";
    public String rule="gggggggggg";
    public String insertstringSqlString="insert into
    你不可以在<%%>里面给变量名前面加public pvivte等 如果你要定义可以在<%!%>里面定义
      

  4.   

    to  JIEK_ONE(adeuxLuow想她了) 哥们 没有看明白我的话怎么  我知道效率不高,才想
    “不是现在这样 增加之前的连接一次   查询的连接一次 “
    应该怎样改正 才能实现效率高的
      

  5.   

    这是我以前写的一个连接数据库(用连接池方法)的类,你可以看看,然后自己去google下这方面的知识,毕竟自己懂了才好用!
    package deuxluow.dbconnection;import java.sql.*;import javax.naming.*;
    import javax.sql.DataSource;
    import java.util.regex.*;
    public class DbConnection{
    Context initCtx = null;
    Connection conn = null;
    Statement stmt = null;
    ResultSet rset = null;

    public DbConnection(){
    } /************************************************
     * openConnection
     * 
    ************************************************/
        public synchronized void getConnection(String poolname) throws Exception
      { 
        
    try
    {
    initCtx = new javax.naming.InitialContext(); 
                Context envCtx  = (Context) initCtx.lookup("java:comp/env");
                DataSource ds   = (DataSource)envCtx.lookup(poolname);
    conn = ds.getConnection();
    }
    catch(SQLException e)
    {
    System.out.println(e.getMessage());
    }
    catch(NamingException el)
    {
          System.out.println(el.getMessage());
    }

      }

    /*************************************************
     * get Connection
    *************************************************/
    public Connection getConnection() throws SQLException{
    return conn;
    }

    /*************************************************
     * executeQuery and executeUpdate
     * query and update DB
    *************************************************/
    public ResultSet executeQuery(String query) throws SQLException{
    stmt = conn.createStatement();
    rset = stmt.executeQuery(query);
    return rset;
    } public void executeUpdate(String query) throws SQLException{
    stmt = conn.createStatement();
    stmt.executeUpdate(query);
    if(stmt != null) stmt.close();
    } public void close() throws SQLException{
    if(rset != null) rset.close();
    if(stmt != null) stmt.close();
    }

    public void closeConn() throws SQLException{
    if(conn != null) conn.close();
    }

    public void closeCont() throws Exception{
    if(initCtx != null)initCtx.close();
    }

    public static String sqlfilter(String SQLSrc){
         String regEx="#+|-+"; //过虑字符#,-
            Pattern p=Pattern.compile(regEx);
    Matcher m=p.matcher(SQLSrc);
    String result=m.replaceAll("");
    return result;
    }

    protected void finalize() throws Throwable{
    close();
    }

    }
      

  6.   

    to JIEK_ONE(adeuxLuow想她了) ( 你这个怎么使用 能告诉下吗?我也查了 查了很多也不是很明白