永发信息网

关于Jsp验证登陆内置Java类

答案:2  悬赏:70  手机版
解决时间 2021-08-24 22:31
  • 提问者网友:ミ烙印ゝ
  • 2021-08-24 01:14

工具: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接受返回行数?

最佳答案
  • 五星知识达人网友:逐風
  • 2021-08-24 02:09

答案:


既然你是做验证,但你为何要返回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;


  }



-------------------------------------------------------------------


如果你觉得答案合理,请点击‘采纳’,


举手之劳,将会激励我继续为别人答题,谢谢!!

全部回答
  • 1楼网友:何以畏孤独
  • 2021-08-24 02:39

ResultSet res = pstmt .executeQuery();

if(res.next()){

 result = res.getInt(1);

}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯