Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java PreparedStatement之后非空数据库表的空ResultSet_Java_Mysql_Jdbc - Fatal编程技术网

Java PreparedStatement之后非空数据库表的空ResultSet

Java PreparedStatement之后非空数据库表的空ResultSet,java,mysql,jdbc,Java,Mysql,Jdbc,我编写了一个从表中检索数据的查询,然后使用getRow()方法检查结果集中的行数。这是在打印0,但是我的表中包含多行-列数据 我检查了前面的问题,发现其中一个非常相似。但与中提到的不同,我没有定义任何权限,并且与数据库的连接已建立良好。这是一个非常简单的查询,返回可更新的结果集,如下所示: if(temp == null) { query = "SELECT * FROM altemp1"; pstmt = cn

我编写了一个从表中检索数据的查询,然后使用
getRow()
方法检查结果集中的行数。这是在打印
0
,但是我的表中包含多行-列数据

我检查了前面的问题,发现其中一个非常相似。但与中提到的不同,我没有定义任何权限,并且与数据库的连接已建立良好。这是一个非常简单的查询,返回可更新的结果集,如下所示:

if(temp == null) {
                query = "SELECT * FROM altemp1";
                pstmt = cn.prepareStatement(query, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
                temp = pstmt.executeQuery();
                System.out.println("TEMP LENGTH : "+temp.getRow());
            }
temp结果集,altemp1表格,单位为DB。
上面的检查是否
temp
为空?用于某些逻辑目的。

您需要调用
ResultSet.next()
并检查返回代码以获取每个连续行,包括第一行,然后需要调用各种其他方法来获取列,其中一个不是
getRow()
。根据JavaDoc(),请参见。

[…getRow()]检索当前行号。第一行是数字1,第二行是数字2,依此类推


getRow
方法不返回结果集中的行数;它返回当前的行号。在示例代码中,执行了查询(prepared语句),但没有从resultset中提取行,因此resultset中的当前行号为0。