`

ResultSet rs 之 rs.next()(转载自百度一哥们)

 
阅读更多
ResultSet rs是结果集。查询出的记录是一个列表,初始时指针指向的是第一条记录之前的。每rs.next()一次指针都会向后移动一位,指向下一条记录。如果没有设置结果集的参数,那么正常搜索情况下结果集都只能往下走,不能退回,也就是rs.next()后,是不能再指向已经指过的记录了,但是如果设置了conn.createStatement(rs.TYPE_SCROLL_INSENSITIVE,rs.CONCUR_READ_ONLY);那么就可以使用rs.first()、rs.last()等方法自己移动结果集指针,但是这种特性(可滚动结果集)是需要数据库支持的,好在现在大部分数据库都是支持的。======================翻译下你的代码:if(rs.next()){ //判断结果集rs是否有记录,并且将指针后移一位   rs.first();//如果有记录,再将指针指向第一条(需要设置结果集类型)}else     {        dos.writeUTF("false"); //否则输出false      } while(rs.next())   //如果rs有记录,那么迭代,但是因为上边已经使用rs.next将指针指向第一条记录了,那么此时初始时再next时实际上指向的是第二条记录。         {                         String result = rs.getString(3)+rs.getString(4)+rs.getString(5)+rs.getString(6);   //取记录结果值               dos.writeUTF(result);           } =========================问题已经说了,上边已经取了rs.next,指针指向的是第二条记录。所以可以这样试试:if(rs.hasNext())   //判断结果集是否有记录,此方法只是判断,指针不移动{    ..... //做需要做的事情   }else     {        dos.writeUTF("false");      } while(rs.next())         {                         String result = rs.getString(3)+rs.getString(4)+rs.getString(5)+rs.getString(6);               dos.writeUTF(result);           }
分享到:
评论

相关推荐

    java数据库连接ResultSet

    java数据库连接ResultSet

    点餐系统半成品,只有登陆功能

    if (rs.next() && rs1.next()) { request.getRequestDispatcher("CuDetails.jsp").forward(request, response); } else { request.getRequestDispatcher("fail.jsp").forward(request, response); }

    数据库结果集ResultSet判断为空记录数缺少一行和没有记录但永不为空问题

    最近在做毕业设计,需要用到数据库,在用结果集ResultSet判断的时候遇到一个郁闷的事情。 一开始我的想法是这么一个框架: ResultSet rs = dao.executeQuery(sql); if(rs不为空){ while(rs.next()){ … } }else{ … ...

    greenplum.jar 官方驱动 JDBC

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet;... while (rs.next()) { System.out.println(rs.getString(1)); } rs.close(); st.close(); } }

    java项目之学生信息管理系统

    ResultSet rs = null; try { ps = conn.prepareStatement(DBSql.SELECT_ALL); rs = ps.executeQuery(); // 得到列数 max = rs.getMetaData().getColumnCount(); date = new Object[getnumberAll...

    greenplum.jar 官方JDBC驱动

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet;... while (rs.next()) { System.out.println(rs.getString(1)); } rs.close(); st.close(); } }

    MyEclipse+WebLogic+MySQL数据源

    while (rs.next()) { Users user = new Users(); user.setId(rs.getInt("id")); user.setPassword(rs.getString("password")); user.setUsername(rs.getString("username")); list.add(user); } ...

    连接数据库

    import java.sql.Connection;... if(rs.next()) { System.out.println(rs.getString("a")); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

    java连接mysql实例

    本人学习java连接数据库的一个小项目,还有从配置文件读取数据库设置的另一个方法 try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); }// Mysql 的驱动 ...

    java源代码公司管理系统

    ResultSet rs = Dao.executeQuery(sql); try { while (rs.next()) { String names = rs.getString(1); operater.setId(rs.getString("id")); operater.setName(rs.getString("name")); ...

    jsp连接数据库大全

    一定将jdbc的驱动程序放到服务器的类路径里,然后要在数据库里建一个表test,有两个字段比如为test1,test2,可以用下面SQL建 create table test(test1 varchar(20),test2 varchar(20) 然后向这个表写入一条测试...

    GreenPlum.zip

    JAVA连接GreenPlum驱动包 try { ... ResultSet rs = pre.executeQuery(); while(rs.next()) { System.out.println(rs.getString(1)); } } catch (Exception e) { e.printStackTrace(); }

    java连接Mysql

    =null&&rs.next()) { System.out.println(rs.getInt("sid")+" "+rs.getString(2)+" "+rs.getString(3)); } } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block...

    学生信息管理系统-JAVA-连接数据库.pdf

    if (rs.next()) { name = rs.getString(1); userid = rs.getInt(2); return true; } return false; } //添加学生 //添加学生 public void addstudent(){ System.out.print("请依次输入学号,姓名,年龄,地址(用逗号隔...

    学生信息管理系统-java-连接数据库.doc

    if (rs.next()) { name = rs.getString(1); userid = rs.getInt(2); return true; } return false; } //添加学生 //添加学生 public void addstudent(){ System.out.print("请依次输入学号,姓名,年龄,地址(用逗号隔...

    JDBC.txt是链接mysql数据库的源码,复制粘贴即可,需要mysql.jar包

    import java.sql.*;... ResultSet rs= ptmt.executeQuery(); //查看结果 while(rs.next()){ System.out.println( rs.getString("name")); //资源回收 } rs.close(); ptmt.close(); conn.close(); } }

    Java连接数据库并修改内容.rar

    Java连接数据库并修改内容,Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动器  Connection con=DriverManager.get... while (rs.next()){ //遍历ResultSet   name=rs.getString("name"); //获取数据

    学生成绩管理系统

    while(rs.next()){ System.out.println(rs.getInt(1)+"\t"+rs.getString(2)+"\t"+ rs.getString(3)+"\t"+rs.getString(4)+ "\t"+rs.getString(5)+ "\t"+rs.getString(6)); rs.close(); } ...

    Access_JDBC30 无使用次数限制 - 破解

    ResultSet rs= statement.executeQuery("select * from test"); while(rs.next()){ System.out.println(rs.getString(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)+"\t"+rs.getString(4)+"\t"+rs.getString...

Global site tag (gtag.js) - Google Analytics