try
{ System.out.println("3");
Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
String sql = "SELECT name FROM person WHERE id=? and password=? ";
pstmt = conn.prepareStatement(sql) ;
pstmt.setString(1,id) ;
pstmt.setString(2,password) ;
rs = pstmt.executeQuery();
System.out.println("1");
if(rs.next())
{
flag = true ;
System.out.println("1");
}
rs.close() ;
pstmt.close() ;
}
请问这段代码有什么问题吗?我调试到 if(rs.next())
不能返回TRUE了 希望好心人解答
{ System.out.println("3");
Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
String sql = "SELECT name FROM person WHERE id=? and password=? ";
pstmt = conn.prepareStatement(sql) ;
pstmt.setString(1,id) ;
pstmt.setString(2,password) ;
rs = pstmt.executeQuery();
System.out.println("1");
if(rs.next())
{
flag = true ;
System.out.println("1");
}
rs.close() ;
pstmt.close() ;
}
请问这段代码有什么问题吗?我调试到 if(rs.next())
不能返回TRUE了 希望好心人解答
我以前输入都正确,可是到后来加了trim()才搞定。
把if搞个while看看,是没有查到符合的值。
String sql = "SELECT name FROM person WHERE id=? and password=? "; 改成
String sql = "SELECT name FROM person WHERE id='"+id+"' and password='"+password+"'";
System.out.println(sql);然后你把打印出来的sql, 手工去查询分析器里运行看看吧。