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();
}
求教一下这是什么情况。。。 展开
我用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();
}
求教一下这是什么情况。。。 展开
展开全部
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);
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);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
zty899910说的很对
System.out.println(rs.getRow());返回的是当前行号,此时下标没有移动,是0
想读取数据这么写:
while(rs.next()){
System.out.println(rs.get(0));//读取第一条结果的第一列数据
......
}
System.out.println(rs.getRow());返回的是当前行号,此时下标没有移动,是0
想读取数据这么写:
while(rs.next()){
System.out.println(rs.get(0));//读取第一条结果的第一列数据
......
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
getRow获取的是当前的行号,你一行都没读取,当然是0行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在执行完stmt.executeQuery(sql);
加上这句话rs.last();
最后rs.getRow();
加上这句话rs.last();
最后rs.getRow();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
rs.getRow() 获取的是行号吧? rs.getint("") 或者 rs.getString("") 获取值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询