(
工具:MyEclipse
数据库:MYSQL
)
在Jsp中验证登陆,在Java类中写入验证方法,
PreparedStatement pstmt 中调用方法:
pstmt.ExecuteNonQuery()
返回的值是ResultSet,
而本人写入的方法:
public int login(){
}
如何在返回结果集中获取返回行数,
通过返回行数来验证账号密码是否正确,
SQL语句如下:
select count(*) from account where id = ? and password = ?
已使用pstmt.setInt(1,10000) pstmt.setInt(2,10086),
int result = 0;
如何用result接受返回行数?
答案:
既然你是做验证,但你为何要返回Int 类型的,怎么不返回Boolean类型的,也好判断呀!我的建议:
public int login(){
int result = 0;
if(rSet.next()){ //这里rSet是ResultSet类型的
result=1;//其实这个数字你也可以随便赋值,只是看哈有没有返回行,你说
要接受返回的行,那就这样写:
//在sql语句中 为count(*) 起个别名 ,例如counts
result=pstmt.getint(rSet.getInt("counts"));
//其实你是做验证,一个账号和密码只可能对应一个人,不可能有多个人,也就是说结果只会返回一行,所以你可以直接为result 赋值1,和上面一样
}
return result ;
}
如果 这个方法是返回Boolean类型的:
public Booleanlogin(){
if(rSet.next()){ //这里rSet是ResultSet类型的
return true;
}
return false;
}
-------------------------------------------------------------------
如果你觉得答案合理,请点击‘采纳’,
举手之劳,将会激励我继续为别人答题,谢谢!!
ResultSet res = pstmt .executeQuery();
if(res.next()){
result = res.getInt(1);
}
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息