java 代码求助

来源:百度知道 编辑:UC知道 时间:2024/05/27 22:29:58
public boolean Denglu(String sname, String spass) {
String sql = "select * from yonghu where sname = ? and spass = ?";
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:ning");
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, sname);
stmt.setString(2, spass);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
return true;
}

} catch (Exception ex) {
}
return false;
}

连接数据库
遇到了问题。
这个是什么意思 while (rs.next()) {
return true;
}
并且为什么要用这个。

当你在数据库中查询的时候有多条符合条件的数据,通过while(rs.next())循环将查询出来的多条记录一条一条的读出来
return true;是返回为真
你写的程序意思应该是如果数据库中有你给出条件的数据,则返回为真,否则返回为假

用while是为了循环,一条一条的查询记录,如果rs。next()是false的时候也就说明没有数据了。。。。

public boolean Denglu(String sname, String spass) {
String sql = "select * from yonghu where sname = ? and spass = ?";
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:ning");
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, sname);
stmt.setString(2, spass);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
return true;
}
rs.clase();//在这里把链接关了就好
stmt.close();

} catch (Exception ex) {
}
return false;
}

String sql = "select * from yonghu where sname = ? and spass = ?";
现在用的判断,用户名及其密码是否正确,已经不用这个sql语句了;
这样效率太慢了(要把表中所有的内容都select出来,放到内存里)。<