ResultSet rs 取不到结果集是如何转向的问题?

jianyu807 2004-01-12 09:40:19
各位大哥,小弟在做一个登陆页面:
String sql="select * from temp_tiaoshi where cName='"+name+"' and cPassword='"+password+"'";
ResultSet rs=ConnDbBean.executeQuery(sql);//ConnDbBean为我连接数据库的BEAN
if(){
response.sendRedirect("/TelecomWebApp/main.jsp");//登陆成功
}
else{
response.sendRedirect("/TelecomWebApp/checkuser.jsp");//再次登陆
}

请问做过的大哥们,if的条件该怎么写?我试过rs.equals(null),可是它只要用户名对,不论密码为什么都能登陆成功。String flag; flag=rs.getString(1),flag!=null这个到是能判断用户名和密码,但是错误的时候不能转向checkuser.jsp;还有int i=0, i=rs.getRow, i!=0。这个好象跟rs.equals(null)的错误一样。请做过的大哥给个方法!谢谢
...全文
86 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jianyu807 2004-01-13
  • 打赏
  • 举报
回复
rs.next()不行,如果没取到数据库中的值,它就报错,无效的光标状态!
sammy791010 2004-01-12
  • 打赏
  • 举报
回复
rs.next()
chenfei00 2004-01-12
  • 打赏
  • 举报
回复
if(rs.next())
Gigle 2004-01-12
  • 打赏
  • 举报
回复
要换个方式使用SQL
Gigle 2004-01-12
  • 打赏
  • 举报
回复
String sql="select * from temp_tiaoshi where cName='"+name+"' and cPassword='"+password+"' or cName='"+name+"'";

不过你现在或使用我给你的,容易被黑呦,嘿嘿
jianyu807 2004-01-12
  • 打赏
  • 举报
回复
楼上两位大哥的方法都不错,等小弟再试一试!
denisu 2004-01-12
  • 打赏
  • 举报
回复
String sql="select count(*) from temp_tiaoshi where cName='"+name+"' and cPassword='"+password+"'";
然后rs.getInt(1),看看这个值,不等于1就登陆失败。
应该可以避免next()的困扰。。。。
youthy_yy 2004-01-12
  • 打赏
  • 举报
回复
不是吧,你真的试过?
不可能出现“只要用户名对,不论密码为什么!都能登陆”的
除非一种情况:你正好利用了SQL语句的一个bug,即单引号‘和or,此漏洞见相关文档
个人建议:登陆不要简单用and比较两个字段,而是
"select * from temp_tiaoshi where cName='"+name+"'"
再比较从数据库中查出来的密码值与页面输入密码值是否相等
这样能从根本上避免进入SQL漏洞陷阱
jianyu807 2004-01-12
  • 打赏
  • 举报
回复
rainshow兄,这种方法小弟好象试过,也是只要用户名对,不论密码为什么!都能登陆,哦上面忘了说了,小弟用的数据库是oracle8,前面的html中有<form action="login.jsp" method=post name=form1>
yugona 2004-01-12
  • 打赏
  • 举报
回复
if(rs.next())
{
//登录成功
}
else
{
//登录失败
}

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧