`

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

    例如,如果 ResultSet 对象 rs 的第二列名为“title”,并将值存储为字符串,则可以使用以下代码来获取存储在该列中的值: ```java String s = rs.getString("title"); String s = rs.getString(2); ``` 需要注意...

    javaResultSet常用方法.pdf

    * rs.next():向后滚动 * rs.getRow():得到当前行号 * rs.absolute(n):光标定位到n行 * rs.relative(int n):相对移动n行 2. 光标操作: * rs.first():将光标定位到结果集中第一行 * rs.last():将光标定位...

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

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

    ResultSet

    2. 结果集的遍历:ResultSet对象是游标型的,这意味着你可以通过调用next()方法向前移动到下一行。一旦next()返回true,表示当前行已被加载,你可以通过调用getXXX()方法(如getInt(), getString()等)来获取列值。 ...

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

    while(rs.next()){ … } }else{ … } 但是 if(rs != null)这个是不能成立的,当结果集没有数据的时候还是不能进入else体内,我挠着头皮用System.out.println(rs.toString());打印了rs看看到底是啥,显示如下: 度娘...

    java中ResultSet遍历数据操作

    在 Java 中,我们可以使用 ResultSet.next() 方法来执行含有 rownum 的 SQL 语句,但是这可能会导致性能问题。例如,在使用 Oracle 数据库进行分页查询时,我们可能会使用以下 SQL 语句: ```sql select tm.* from ...

    java sql ResultSet 之getRow()用法说明

    Java SQL ResultSet 之 getRow() 用法说明 在 Java 中,当我们使用 SQL 语句查询数据库时,通常会使用 ResultSet 对象来存储查询结果。其中,getRow() 方法是一个非常重要的方法,它可以返回当前指针所在的行号。...

    JAVA 版本ResultSet 转换为JAVABEAN的工具类

    ResultSet接口提供了导航方法,如next(),用来遍历查询结果的每一行。每行数据通过调用getXXX()方法(XXX代表数据类型)获取,例如getString()、getInt()等。 创建JavaBean时,我们通常定义一个类,包含与数据库表...

    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(); } }

    ResultSet 转为listmap

    while (rs.next()) { for (int i = 0; i ; i++) { Map, Object> map = new HashMap, Object>(); String key = colNameList.get(i); Object value = rs.getString(colNameList.get(i)); map.put(key, value); ...

    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 代码笔记 2010-06-23 对ResultSet()的几个常用操作,实例。

    ResultSet rs = stmt.executeQuery("SELECT * FROM mytable"); ``` 2. 移动指针 ResultSet内部有一个游标,用于指向当前行。默认情况下,游标在结果集的第一行之前。我们可以使用next()方法将游标移动到下一行,...

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

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

    连接数据库

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

    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); } ...

    JDBC基础教程之ResultSet对象.doc )

    ### JDBC基础教程之ResultSet对象详解 #### 一、ResultSet对象概览 `ResultSet`对象是Java Database Connectivity (JDBC) API中的一个核心组件,用于处理SQL查询结果。它充当了一个临时的数据存储,其中包含了所有...

    ResultSet常用方法

    - `rs.next()`:将游标向后移动一行,这是遍历结果集的常见方式。如果到达了结果集的最后一行,返回`false`。 - `rs.getRow()`:返回当前行的行号,从1开始计数。 - `rs.absolute(int n)`:将游标移动到指定的...

Global site tag (gtag.js) - Google Analytics