问题描述
对着个方法还不是很清楚,它是对数据一行一行的比对然后指针下移吗?什么时候返回true,可用getInt()等方法获取数据
解决方案
解决方案二:
什么时候返回true得看你的sql查询结果,当有一条以上结果返回时就可以使用next()获取数据,想获取getInt的数据要看你在sql中查询的列有没有int类型的,字符串类型用getString(),日期类型用getDate()获取
解决方案三:
是一条一条取的,当还有下一条数据时,就返回true,至于getInt(),如果你查询出来的每条记录有int型的字段,就可以用getInt()取出int型字段的值。
解决方案四:
类似游标的概念一般用while(rs.next()){//dosomething}
来遍历结果集
解决方案五:
看jdk就可以了ResultSet对象具有指向其当前数据行的光标。最初,光标被置于第一行之前。next方法将光标移动到下一行;因为该方法在ResultSet对象没有下一行时返回false,所以可以在while循环中使用它来迭代结果集光标向前移动一位后,发现这个位置有对象,那么rs.next就返回true,否则返回falseResultSet中获取数据有两种方式,一种是通过列序号getString(1),一种通过字段名getString("name")两种方式,都可以通过getString来通用的取数据
解决方案六:
ResultSet有游标的概念,开始时游标指向第一行之前的位置,第一次调用next方法将第一行变为当前行,第二次调用将第二行变为当前行,以此类推。有了当前行的概念,则当没有行时返回false,当前行有效则返回true。至于getInt等方法可以参考API,一般都有两个重载的方法,一种方法的参数为列号,列号从1开始,一种方法的参数为列名
解决方案七:
引用3楼u012345283的回复:
类似游标的概念一般用while(rs.next()){//dosomething}来遍历结果集
它是具体怎么定位的呢,比如我说查询ID=6,是怎么定位到哪一行数据的呢
解决方案八:
引用1楼qq_15654157的回复:
什么时候返回true得看你的sql查询结果,当有一条以上结果返回时就可以使用next()获取数据,想获取getInt的数据要看你在sql中查询的列有没有int类型的,字符串类型用getString(),日期类型用getDate()获取
它是具体怎么定位的呢,比如我说查询ID=6,是怎么定位到哪一行数据的呢
解决方案九:
引用6楼oGaiZhuZiJi的回复:
Quote: 引用3楼u012345283的回复:
类似游标的概念一般用while(rs.next()){//dosomething}来遍历结果集
它是具体怎么定位的呢,比如我说查询ID=6,是怎么定位到哪一行数据的呢
查询Id=6?那你直接加where条件id等于6不就好了那么结果集里只有一条记录,你只需要while(rs.next()){//这个rs就是那条记录,你可以rs.getXxx()来得到你要的字段}
解决方案十:
引用8楼u012345283的回复:
Quote: 引用6楼oGaiZhuZiJi的回复:
Quote: 引用3楼u012345283的回复:
类似游标的概念一般用while(rs.next()){//dosomething}来遍历结果集
它是具体怎么定位的呢,比如我说查询ID=6,是怎么定位到哪一行数据的呢
查询Id=6?那你直接加where条件id等于6不就好了那么结果集里只有一条记录,你只需要while(rs.next()){//这个rs就是那条记录,你可以rs.getXxx()来得到你要的字段}
就说他是怎么定位到whereID=6那行数据段的,怎么查找的?rs.next()有关?
解决方案十一:
引用9楼oGaiZhuZiJi的回复:
Quote: 引用8楼u012345283的回复:
Quote: 引用6楼oGaiZhuZiJi的回复:
Quote: 引用3楼u012345283的回复:
类似游标的概念一般用while(rs.next()){//dosomething}来遍历结果集
它是具体怎么定位的呢,比如我说查询ID=6,是怎么定位到哪一行数据的呢
查询Id=6?那你直接加where条件id等于6不就好了那么结果集里只有一条记录,你只需要while(rs.next()){//这个rs就是那条记录,你可以rs.getXxx()来得到你要的字段}
就说他是怎么定位到whereID=6那行数据段的,怎么查找的?rs.next()有关?
你的sql:select*fromxxxwhereid=6;这样写,若id是主键,那是不是resultSet里只有一条记录,那直接就定位定好了如果你是类似select*fromxxx这样的sql,查出来一大片那么你就遍历resultSet
解决方案十二:
引用10楼u012345283的回复:
Quote: 引用9楼oGaiZhuZiJi的回复:
Quote: 引用8楼u012345283的回复:
Quote: 引用6楼oGaiZhuZiJi的回复:
Quote: 引用3楼u012345283的回复:
类似游标的概念一般用while(rs.next()){//dosomething}来遍历结果集
它是具体怎么定位的呢,比如我说查询ID=6,是怎么定位到哪一行数据的呢
查询Id=6?那你直接加where条件id等于6不就好了那么结果集里只有一条记录,你只需要while(rs.next()){//这个rs就是那条记录,你可以rs.getXxx()来得到你要的字段}
就说他是怎么定位到whereID=6那行数据段的,怎么查找的?rs.next()有关?
你的sql:select*fromxxxwhereid=6;这样写,若id是主键,那是不是resultSet里只有一条记录,那直接就定位定好了如果你是类似select*fromxxx这样的sql,查出来一大片那么你就遍历resultSet
哦哦意思就是next()遍历是用在select*fromxxx查询出来的一大片数据中遍历?,如果定位ID=6,就一条数据记录,可不可以不用next()??
解决方案十三:
引用11楼oGaiZhuZiJi的回复:
Quote: 引用10楼u012345283的回复:
Quote: 引用9楼oGaiZhuZiJi的回复:
Quote: 引用8楼u012345283的回复:
Quote: 引用6楼oGaiZhuZiJi的回复:
Quote: 引用3楼u012345283的回复:
类似游标的概念一般用while(rs.next()){//dosomething}来遍历结果集
它是具体怎么定位的呢,比如我说查询ID=6,是怎么定位到哪一行数据的呢
查询Id=6?那你直接加where条件id等于6不就好了那么结果集里只有一条记录,你只需要while(rs.next()){//这个rs就是那条记录,你可以rs.getXxx()来得到你要的字段}
就说他是怎么定位到whereID=6那行数据段的,怎么查找的?rs.next()有关?
你的sql:select*fromxxxwhereid=6;这样写,若id是主键,那是不是resultSet里只有一条记录,那直接就定位定好了如果你是类似select*fromxxx这样的sql,查出来一大片那么你就遍历resultSet
哦哦意思就是next()遍历是用在select*fromxxx查询出来的一大片数据中遍历?,如果定位ID=6,就一条数据记录,可不可以不用next()??
不行,因为resultSet刚开始并不是指向第一条记录的若此时直接getXxx(),会报错:Beforestartofresultset调用了next()之后才会指向首条记录所以还是用while(rs.next()){}这样来操作