通过rs.getString("");来获取数据失败,如何解决?谢谢!

a3622041 2012-10-12 10:25:41
String sql="select count(*) coun from UserT where UserName like '" + login_name + "' and password like '" + password + "'";
ResultSet rs=st.executeQuery(sql);


session.setAttribute("grade","");
session.setAttribute("BranchID","");
session.setAttribute("NodeID","");
session.setAttribute("UserPrivate","");
session.setAttribute("UserID","");



while(rs.next()){
int count = rs.getInt("coun");
if(count > 0){//表示存在该用户,且密码正确
String sql2 ="select UserID,grade,BranchID,NodeID from UserT where UserName like '" + login_name + "' and password like '" + password + "'";
ResultSet rs2=st.executeQuery(sql2);
rs2.next();
session.setAttribute("login_flag",1);
session.setAttribute("UserName",request.getParameter("login_name"));
//session.setAttribute("UserID",rs.getInt("UserID"));
session.setAttribute("grade",rs2.getInt("grade"));
//session.setAttribute("BranchID",(rs2.getString("BranchID")).trim());
//if((rs2.getString("BranchID")).trim()=="")
//session.setAttribute("BranchID", "-1");

//session.setAttribute("NodeID",(rs2.getString("NodeID")).trim());
// if((rs2.getString("NodeID")).trim()=="")
// session.setAttribute("NodeID", "-1");
//Session.setAttribute("BranchName",GetBranchName(Session.getAttribute("BranchID")));
//session.setAttribute("NodeName",GetNodeName(session.getAttribute("BranchID"),session.getAttribute("NodeID"));
//WriteLogDB("登录成功");
Statement st_suc;
String sql_suc="insert into UserOpert(UserName,Operation,grade) Values('" +session.getAttribute("UserName") + "','登陆成功','" + session.getAttribute("grade") + "')";
st_suc=conn.createStatement();
st_suc.execute(sql_suc);
response.sendRedirect("main.jsp");
} else {//用户名或密码错误
Statement st_fail;
String sql_fail="insert into UserOpert(UserName,Operation,grade) Values('" +session.getAttribute("UserName") + "','登陆成功','" + session.getAttribute("grade") + "')";
st_fail=conn.createStatement();
st_fail.execute(sql_fail);
response.sendRedirect("Login.jsp");
}
}
rs.close();
st.close();
conn.close();
%>

部分代码 此时是提示An exception occurred processing rs.next()行
去掉rs2.next() 提示[Microsoft][SQLServer 2000 Driver for JDBC]Invalid operation for the current cursor position.
直接用rs.getInt("UserID") 提示:
[SQLServer 2000 Driver for JDBC]Invalid column name: UserID
...全文
496 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
a3622041 2012-10-15
  • 打赏
  • 举报
回复
没办法 本来是ASP的 我只是做转换 不好重新弄
beingo333 2012-10-13
  • 打赏
  • 举报
回复
麻了!。。。有找这错误的功夫还不如重写。
Cactus_hxk 2012-10-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
引用 4 楼 的回复:
/check_login.jsp at line 45

去这个页面的45行看看是什么!


session.setAttribute("UserID",rs.getInt("UserID"));}
[/Quote]

不会吧,页面上还有rs.getInt("UserID")啊!你上面的java类中不是已经把UserID放到session中了吗,怎么页面上还要
a3622041 2012-10-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
/check_login.jsp at line 45

去这个页面的45行看看是什么!
[/Quote]

session.setAttribute("UserID",rs.getInt("UserID"));}
Cactus_hxk 2012-10-12
  • 打赏
  • 举报
回复
/check_login.jsp at line 45

去这个页面的45行看看是什么!
bird_cat 2012-10-12
  • 打赏
  • 举报
回复
这是谁写的代码 我的神啊
zxhcloth 2012-10-12
  • 打赏
  • 举报
回复
看你这写法,比草稿都还乱,一看就头大,好好整理下思路再整理下。
你这里隐藏的定时炸弹很多。
a3622041 2012-10-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
你的rs2也应该循环
while(rs2.next()){
[/Quote]

org.apache.jasper.JasperException: An exception occurred processing JSP page /check_login.jsp at line 45

42: while(rs2.next()){
43: session.setAttribute("login_flag",1);
44: session.setAttribute("UserName",request.getParameter("login_name"));
45: session.setAttribute("UserID",rs.getInt("UserID"));}
46: //session.setAttribute("grade",rs2.getInt("grade"));
47: //session.setAttribute("BranchID",(rs2.getString("BranchID")).trim());
48: //if((rs2.getString("BranchID")).trim()=="")

加了个while就这样
Cactus_hxk 2012-10-12
  • 打赏
  • 举报
回复
你的rs2也应该循环
while(rs2.next()){
jumpheightway 2012-10-12
  • 打赏
  • 举报
回复
rs.next()是用来判断是否还有下一条数据的
而getXXX(“column name”)取数据是必须要数据库中表有这个列名才行
a3622041 2012-10-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
引用 5 楼 的回复:
引用 4 楼 的回复:
/check_login.jsp at line 45

去这个页面的45行看看是什么!


session.setAttribute("UserID",rs.getInt("UserID"));}


不会吧,页面上还有rs.getInt("UserID")啊!你上面的java类中不是已经把UserID放到session中了吗,……
[/Quote]

不明白你的意思 是获取数据库中的UserID然后放到session下啊

81,119

社区成员

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

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