无法在Eclipse中获取数据

时间:2016-12-12 21:35:17

标签: java eclipse oracle selenium selenium-webdriver

我是初学者并且正在尝试学习selenium webdriver。我已经在Eclipse中连接了数据库,但是当我尝试执行查询时,它给了我错误

Oracle JDBC driver loaded ok.
DB Connected Successfuly
Exception in thread "main" java.sql.SQLException: Exhausted Resultset
    at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:1270)
    at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:498)
    at regressionTesting.TestDBConnect.main(TestDBConnect.java:34)

以下是我的完整代码。

    package regressionTesting;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TestDBConnect {

    public static void main(String[] args) throws Exception

    {
        //Accessing driver from the JAR file 
        Class.forName("oracle.jdbc.OracleDriver");
        System.out.println("Oracle JDBC driver loaded ok.");

        Connection con=DriverManager.getConnection("jdbc:oracle:thin://:localhost:1602:mydb","root","root");
        System.out.println("DB Connected Successfuly");

        //jdbc:oracle:thin:@epwfst1db.dev.qintra.com:1602:epwfst1 --> this is the database
        //epwf_app --> this is the username
        //epwf_app_epwfst1 --> this is the passwd

        //Below we create our query
        PreparedStatement statement = con.prepareStatement("select * from epwf.payment where created_user_nm = '1600STOUTST7000'");

        //Below we create variable to execute the query
        ResultSet result = statement.executeQuery();

        while(result.next());

        String amount = result.getString("payment_amt");
        String baid = result.getString("billing_application_accnt_id");
        String status = result.getString("status_cd");

        System.out.println("Amount: " + amount);
        System.out.println("BAID: " + baid);
        System.out.println("Status: " + status);
    }

}

我上面提到的查询。列的结果比我想要的更多。你认为,因为错误即将来临。

任何帮助都将受到高度赞赏。正如我所提到的,我是新手,所以如果你能尽可能详细。再次感谢!!

1 个答案:

答案 0 :(得分:0)

您的代码中的语法似乎不正确

您的while循环不包含任何代码(请查看以下内容以获取更多信息)

while(result.next());

相反,你应该使用

while (result.next() {


}

您得到异常是因为在处理结果集后尝试访问列值。

抛出异常时的示例:

while (rs.next()) {
    String s = rs.getString(0);
 }
 String s = rs.getString(0); //this will throw Exhausted resultset

使用while结束if;会在第一行代码后终止条件

示例:

 if (true);
     System.out.println("this will be printed out");

如果您要调用至少2条说明,则必须将其放入括号内{}