resultSet.last什么意思,该如何处理
答案:2 悬赏:70 手机版
解决时间 2021-12-24 12:28
- 提问者网友:爱唱彩虹
- 2021-12-24 03:51
resultSet.last什么意思,该如何处理
最佳答案
- 五星知识达人网友:怙棘
- 2021-12-24 04:18
用JDBC读取Database里的数据之前,一般情况下是知道Table里的数据类型的。
比如说要获取Student里的字段 name 的值,用rs.getString("name")和rs.getString(1)都能得到,前者是根据字段名读取,后者是根据字段位置读取。
一般的从Database里拿数据出来都要赋值给外面的对象的,比如你题目里的,
String name = rs.getString("name") ;
String sex = rs.getString("sex") ;
int age = rs.getInt("age") ;
Student s = new Student(name, sex, age) ;然后这个Student对象还要去做别的事情。所以你全部用getString(index)来读取数据肯定是不合适的。
getMetaData()这个方法是得到结果集的属性,比如ResultSet 对象的列的编号、类型和属性什么的,返回的是ResultSetMetaData类型。
比如说要获取Student里的字段 name 的值,用rs.getString("name")和rs.getString(1)都能得到,前者是根据字段名读取,后者是根据字段位置读取。
一般的从Database里拿数据出来都要赋值给外面的对象的,比如你题目里的,
String name = rs.getString("name") ;
String sex = rs.getString("sex") ;
int age = rs.getInt("age") ;
Student s = new Student(name, sex, age) ;然后这个Student对象还要去做别的事情。所以你全部用getString(index)来读取数据肯定是不合适的。
getMetaData()这个方法是得到结果集的属性,比如ResultSet 对象的列的编号、类型和属性什么的,返回的是ResultSetMetaData类型。
全部回答
- 1楼网友:思契十里
- 2021-12-24 05:56
因为resultset 第一条记录指向的是空 执行一次results.next()才会得到数据的第一条记录,这就是为什么能用while (results.next())遍历所有记录。否则这样的循环会跳过第一条记录。
执行了你注释的代码后
results.first(); 就把游标指向的数据的第一条记录,然后再while (results.next()) 就成从第二条记录开始遍历,这样结果就漏掉了第一条数据。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯