源代码:
</head>
<body background="image/bkic017.gif">
<%
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://localhost/charge?user=root&password=123";
Connection conn =DriverManager.getConnection(url);
Statement smt =conn.createStatement();
ResultSet rs;
String sql;
String check =request.getParameter("check");
sql="select count(Snumber) as total1 from students where sfjf=1 and grade ="+check;
rs =smt.executeQuery(sql);}
catch(Exception e){
e.printStackTrace();
}
while(rs.next()){
%>
本年度所交总金额为: <%=rs.getFloat("total1")%>
</body>
</html>
<%}
rs.close();
smt.close();
conn.close();
%>
出错信息:
exception org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 14 in the jsp file: /countjf.jsp
Generated servlet error:
rs cannot be resolvedAn error occurred at line: 31 in the jsp file: /countjf.jsp
Generated servlet error:
rs cannot be resolvedAn error occurred at line: 34 in the jsp file: /countjf.jsp
Generated servlet error:
rs cannot be resolvedAn error occurred at line: 34 in the jsp file: /countjf.jsp
Generated servlet error:
smt cannot be resolvedAn error occurred at line: 34 in the jsp file: /countjf.jsp
Generated servlet error:
conn cannot be resolved
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: 14 in the jsp file: /countjf.jsp
Generated servlet error:
rs cannot be resolvedAn error occurred at line: 31 in the jsp file: /countjf.jsp
Generated servlet error:
rs cannot be resolvedAn error occurred at line: 34 in the jsp file: /countjf.jsp
Generated servlet error:
rs cannot be resolvedAn error occurred at line: 34 in the jsp file: /countjf.jsp
Generated servlet error:
smt cannot be resolvedAn error occurred at line: 34 in the jsp file: /countjf.jsp
Generated servlet error:
conn cannot be resolved
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)
</head>
<body background="image/bkic017.gif">
<%
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://localhost/charge?user=root&password=123";
Connection conn =DriverManager.getConnection(url);
Statement smt =conn.createStatement();
ResultSet rs;
String sql;
String check =request.getParameter("check");
sql="select count(Snumber) as total1 from students where sfjf=1 and grade ="+check;
rs =smt.executeQuery(sql);}
catch(Exception e){
e.printStackTrace();
}
while(rs.next()){
%>
本年度所交总金额为: <%=rs.getFloat("total1")%>
</body>
</html>
<%}
rs.close();
smt.close();
conn.close();
%>
出错信息:
exception org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 14 in the jsp file: /countjf.jsp
Generated servlet error:
rs cannot be resolvedAn error occurred at line: 31 in the jsp file: /countjf.jsp
Generated servlet error:
rs cannot be resolvedAn error occurred at line: 34 in the jsp file: /countjf.jsp
Generated servlet error:
rs cannot be resolvedAn error occurred at line: 34 in the jsp file: /countjf.jsp
Generated servlet error:
smt cannot be resolvedAn error occurred at line: 34 in the jsp file: /countjf.jsp
Generated servlet error:
conn cannot be resolved
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: 14 in the jsp file: /countjf.jsp
Generated servlet error:
rs cannot be resolvedAn error occurred at line: 31 in the jsp file: /countjf.jsp
Generated servlet error:
rs cannot be resolvedAn error occurred at line: 34 in the jsp file: /countjf.jsp
Generated servlet error:
rs cannot be resolvedAn error occurred at line: 34 in the jsp file: /countjf.jsp
Generated servlet error:
smt cannot be resolvedAn error occurred at line: 34 in the jsp file: /countjf.jsp
Generated servlet error:
conn cannot be resolved
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)
后面这些
catch(Exception e){
e.printStackTrace();
}
while(rs.next()){
%>
本年度所交总金额为: <%=rs.getFloat("total1")%>
</body>
</html>
<%}
rs.close();
smt.close();
conn.close();
对rs的引用都无效。
把rs的定义提前。在try之前写ResultSet rs = null;
conn,smt也一样要改。
另外在关闭时要改为
if(rs!=null)
rs.close();
ps = conn.prepareStatement(sql);
ps.setString(1, check );
while(rs.next()){
%>
本年度所交总金额为: <%=rs.getFloat("total1")%>
</body>
</html>
<%}
rs.close();
smt.close();
conn.close();
%>
认真些~~
org.apache.jasper.JasperException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '???ê??' at line 1
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)
sql="select count(Snumber) as total1 from students where sfjf=1 and grade ="+check; //count()你查出来会给你列明吗?
while(rs.next()){
%>
本年度所交总金额为: <%=rs.getFloat(0)%>//用下标,反正数只还回了一列
</body>
</html>
<%}