JAVA连数据库查询结果和PLSQL不一样(oracle)

求教一下,同一个数据库,一样的SQL,在PLSQL中查询结果如下我用count(1)是为了证明库里面有数据。直接执行class文件结果如下:用eclipse执行结果如下:... 求教一下,同一个数据库,一样的SQL,在PLSQL中查询结果如下

我用count(1)是为了证明库里面有数据。
直接执行class文件结果如下:

用eclipse执行结果如下:

主要代码如下所示:
static void testConnection() throws SQLException, ClassNotFoundException{

Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(jdbc,user,pass);

String sql = "SELECT * FROM GW_PAY_INFO";

ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
System.out.println("result = " + rs.getRow());

Statement stmt = conn.createStatement();
rs= stmt.executeQuery(sql);
System.out.println(rs.getRow());

rs.close();
ps.close();
conn.close();
}
求教一下这是什么情况。。。
展开
 我来答
线言文n
2014-10-13 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:95
采纳率:0%
帮助的人:84.2万
展开全部
getRow(), 这个方法是返回当前行在resultSet中的位置, 而且只有你执行rs.next()方法之后才会发生变化.
while(rs.next()){
System.out.println(rs.getRow());
}
输出: 1,2,3,4,5,....
----------------------------------------
你想要计算resultSet中数据的数量,可以如下做:
int i = 0;

while(rs.next){
i++;

}
System.out.println('当前数据量 = ' + i);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
261667318
2014-10-13 · TA获得超过898个赞
知道小有建树答主
回答量:680
采纳率:100%
帮助的人:632万
展开全部
zty899910说的很对
System.out.println(rs.getRow());返回的是当前行号,此时下标没有移动,是0
想读取数据这么写:
while(rs.next()){
System.out.println(rs.get(0));//读取第一条结果的第一列数据
......

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
路亚向前冲8t
2014-10-13 · TA获得超过484个赞
知道小有建树答主
回答量:636
采纳率:0%
帮助的人:430万
展开全部
getRow获取的是当前的行号,你一行都没读取,当然是0行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
czx5450
2014-10-13 · 超过27用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:62.6万
展开全部
你在执行完stmt.executeQuery(sql);
加上这句话rs.last();
最后rs.getRow();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云中呵
2014-10-13 · 超过28用户采纳过TA的回答
知道答主
回答量:125
采纳率:100%
帮助的人:61.9万
展开全部
rs.getRow() 获取的是行号吧? rs.getint("") 或者 rs.getString("") 获取值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式