使用jsp连接oracle时,rs.next()值始终为false,表中存在数据

连接部分代码如下:<%@pageinfo="register"language="java"pageEncoding="utf-8"import="java.util.*... 连接部分代码如下:
<%@ page info="register" language="java" pageEncoding="utf-8" import="java.util.*,java.sql.*,java.io.*"%>
<jsp:useBean id="user" scope="page" class="re.Register"/>
<jsp:setProperty name="user" property="username" value=" "/>
<jsp:setProperty name="user" property="password"/>
<%
String drivers="oracle.jdbc.driver.OracleDriver";
String url="jdbc:oracle:thin:@127.0.0.1:1521/ORCL";
String usera="system";
String passwd="system";
Connection conn;
String sql;
String pw=null;
Class.forName(drivers);
conn = DriverManager.getConnection(url, usera,passwd);
String a=request.getParameter("username");
String b=request.getParameter("password");
sql="select pasword from us where username='"+a+"'";
try{
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
out.print(rs.next());
while(rs.next()){
pw=rs.getString("pasword");
}
stmt.close();
conn.close();
}catch(SQLException ex) {}
%>
<%}%>
</body>
</html>
我使用out.print(rs.next());输出rs.next()的值一直为false,感觉连接没有错误啊,实在不知道怎么办了。
求大神解答
展开
 我来答
jpsbbt
推荐于2016-06-04 · TA获得超过1548个赞
知道小有建树答主
回答量:1060
采纳率:100%
帮助的人:532万
展开全部
out.print(rs.next());

注意这句,因为你在这里调用过rs.next(),你已经取过一次了,所以下次再用时,就取不到了。把这句去掉。

如果去掉这句还是取不到数据,那就做如下检查了:

  1. 数据库链接是否成功?

  2. 你的sql是不是正确?

如果你是用eclipse开发的话,建议你下个断点,这样方便调试。

另外,你的代码还有一个问题,数据库连接conn 建议放在finally中关闭,同时结果集rs也要关闭。代码如下:

try{
      //你的代码
   }catch(SQLException ex) {
   
   }finally{
       rs.close();
       stmt.close();
       conn.close();
   }
更多追问追答
追问
我加这句话就是为了看rs.next()的值,但是第一次取,输出就是false。就是说rs表里根本就没存进去数据,但是连接都没有错误啊
追答
数据库连接没错的话,那就看你的sql语句,建议把sql打印出来,然后到数据库中运行一下看看。
JWWAAD
2019-09-03
知道答主
回答量:6
采纳率:0%
帮助的人:4215
展开全部
有可能是这种原因:在oracle里面查询确实看到表中存在数据,但是用myeclipse连接数据库时,查询到的表的数据都为空数据。而导致该原因是因为在oracle里执行一条插入更新删除语句之后,要执行commit; 数据才能真正保存到数据库。
解决方法:执行commit
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式