问题描述
- jsp 应用程序 finally里的 rs pstmt conn出错
-
登录验证界面
<%
try{
Connection conn =null;
PreparedStatement pstmt =null;
ResultSet rs=null;
String driverName ="com.sql.jdbc.Driver";
String dbName="user";
String url1="jdbc:sql://localhost/"+dbName;
String url2="?user=sa&password=lx13784429739";
String url3="&Unicode=true&characterEncoding=GB2312";
String url=url1+url2+url3;
Class.forName(driverName);
conn=DriverManager.getConnection(url);
request.setCharacterEncoding("GB2312");
String name=request.getParameter("username");
String pw=request.getParameter("pass");
String sql="select * from user_b where(uname=?andupassword=?) ";pstmt =conn.prepareStatement(sql); pstmt.setString(1,name); pstmt.setString(2,pw); rs=pstmt.executeQuery(); if(rs.next()){ %><%=name%>:登陆成功!<br><% } else{%> <%=name %>:登录失败!<br><%} }catch(Exception e) {%> 出现异常错误!<br><%=e.getMessage()%> <%} finally{ if(rs!=null){rs.close();} if(pstmt!=null){pstmt.close();} if(conn!=null){conn.close();} }%>
提示错误:rs cannot be resolved to a variable。。。。
个人感觉是变量定义的问题,希望大神不吝赐教
解决方案
不是什么变量的问题 你的 statement result connection 的定义 应该放在try的外面 放在里面 你还try什么。。。