package com.bean; import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; public class DB { 
public static Connection getConn(){ 
Connection conn=null; 
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=spdb1"; 
 try { 
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
conn=DriverManager.getConnection(url,"sa","123"); 
} catch (InstantiationException e) { 
e.printStackTrace(); 
} catch (IllegalAccessException e) { 
e.printStackTrace(); 
} catch (ClassNotFoundException e) { 
e.printStackTrace(); 
} catch (SQLException e) { 
e.printStackTrace(); 

return conn; 
} public static Statement getStmt(Connection conn){ 
Statement stmt=null; 
try { 
stmt=conn.createStatement(); 
} catch (SQLException e) { 
e.printStackTrace(); 

return stmt; 
} public static ResultSet getQuery(int pageSize,int pageNow){ 
ResultSet rs=null; 
Connection conn=getConn(); 
Statement stmt=getStmt(conn); 
try { 
rs=stmt.executeQuery("select top "+pageSize 
+" * from users where userId not in (select top " 
+pageSize*(pageNow-1)+" userId from users) "); 
} catch (SQLException e) { 
e.printStackTrace(); 

return rs; 
} public static void close(Connection conn){ 
if(conn!=null){ 
try { 
conn.close(); 
} catch (SQLException e) { 
e.printStackTrace(); 
}finally{ 
conn=null; 


} public static void close(Statement stmt){ 
if(stmt!=null){ 
try { 
stmt.close(); 
} catch (SQLException e) { 
e.printStackTrace(); 
}finally{ 
stmt=null; 


} public static void close(ResultSet rs){ 
if(rs!=null){ 
try { 
rs.close(); 
} catch (SQLException e) { 
e.printStackTrace(); 
}finally{ 
rs=null; 



public static boolean checkuser(String usename,String password){ 
boolean b=false; 
Connection conn=getConn(); 
Statement stmt=getStmt(conn); 
try { 
ResultSet rs=stmt.executeQuery("select passwd from users where username="+usename); 
while(rs.next()){ 
if(rs.getString("passwd").equals("password")){ 
b=true; 


} catch (SQLException e) { 
e.printStackTrace(); 
}finally{ 
close(conn); 
close(stmt); 
close(rs);//这里为什么不能引入,这里出现rs cannot be resolved.请帮助 

return b; 
} } 
 

解决方案 »

  1.   

    public static boolean checkuser(String usename,String password){ 
    boolean b=false; 
    Connection conn=getConn(); 
    Statement stmt=getStmt(conn);
    ResultSet rs = null; 
    try { 
    //ResultSet rs=stmt.executeQuery("select passwd from users where username="+usename); 
    修改成
    rs=stmt.executeQuery("select passwd from users where username="+usename); 
    while(rs.next()){ 
    if(rs.getString("passwd").equals("password")){ 
    b=true; 


    } catch (SQLException e) { 
    e.printStackTrace(); 
    }finally{ 
    close(conn); 
    close(stmt); 
    close(rs);//这里为什么不能引入,这里出现rs cannot be resolved.请帮助 

    return b; 
    } } 
      

  2.   

    建议看看变量的作用范围.局部变量 全局变量 and so on.