Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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中已耗尽的Resultset异常_Java_Oracle11g - Fatal编程技术网

Java中已耗尽的Resultset异常

Java中已耗尽的Resultset异常,java,oracle11g,Java,Oracle11g,有人能告诉我如何摆脱这个精疲力竭的Resultset异常吗。我试过看这个网站上发布的其他问题,但似乎没有任何帮助。即使在使用.next()方法之后,我也会收到错误。顺便说一句,sql代码确实返回行,并且它不是一个空集。 这是我的代码: package jdbcManabu; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSet

有人能告诉我如何摆脱这个精疲力竭的Resultset异常吗。我试过看这个网站上发布的其他问题,但似乎没有任何帮助。即使在使用.next()方法之后,我也会收到错误。顺便说一句,sql代码确实返回行,并且它不是一个空集。 这是我的代码:

package jdbcManabu;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;

public class TwoTables
{

    public static void main(String[] args)
    {
        try
        {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            Connection tsunagu = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "hr", "hr");  
            Statement gyo = tsunagu.createStatement(); 
            String sql1 =
                    "SELECT e1.salary, e2.salary FROM employees e1 INNER JOIN employees e2 ON e1.employee_id = e2.employee_id WHERE e1.salary > 20000";

            ResultSet set1 = gyo.executeQuery(sql1);
            ResultSetMetaData  meta1 = set1.getMetaData(); 

            for(int i=1; i <= meta1.getColumnCount(); i++)
                System.out.print(meta1.getColumnName(i) + "=" + meta1.getColumnTypeName(i));

            int clmns = meta1.getColumnCount();
            while(set1.next());
            {
                for(int i = 1; i <= clmns; i++)
                {
                  System.out.print( set1.getInt(i) + " ");
                }
                System.out.println();
            }


            tsunagu.close();


        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

}

包jdbcManabu;
导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql.ResultSet;
导入java.sql.ResultSetMetaData;
导入java.sql.Statement;
公共类二表
{
公共静态void main(字符串[]args)
{
尝试
{
类forName(“oracle.jdbc.driver.OracleDriver”);
Connection tsunagu=DriverManager.getConnection(“jdbc:oracle:thin:@localhost:1521:orcl”、“hr”、“hr”);
语句gyo=tsunagu.createStatement();
字符串sql1=
“选择e1.salary,e2.salary FROM employees e1 internal JOIN employees e2 ON e1.employeen_id=e2.employeen_id,其中e1.salary>20000”;
ResultSet set1=gyo.executeQuery(sql1);
ResultSetMetaData meta1=set1.getMetaData();

对于(int i=1;我可能重复
while(set1.next());
由于
while
后面的分号,投票以打字错误结束,而不是重复。感谢您解决了这个问题。没有注意到分号是一件非常尴尬的事情。