while循环不在我的try / catch语句中工作

时间:2018-04-14 19:18:32

标签: java mysql access

我一直试图将这个特定的代码链接到我的数据库很长一段时间没有进展。我正在尝试制作一个履行中心应用程序,适用于像DHL和其他运输代理商这样的公司,但我无法将我的代码链接到我用sqlite创建的数据库。

所以我尝试启动一个新的简单程序,看看它是否有效,但是当我发起while(rs.next())语句时,我在Eclipse中收到错误。请帮忙!

package test;

import java.sql.*;

public class db {

    Connection con;
    Statement st;
    ResultSet rs;

    public db() {
        connect();
    }

    /**
     * Database Connection.
     */
    public void connect() {

        try {
            String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
            Class.forName(driver);

            String db = "jdbc:odbc:db1";
            con = DriverManager.getConnection(db);
            st = con.createStatement();
            String sql = "Select * from Table1";
            rs = st.executeQuery(sql);

            While(rs.next()) {
                String fname = rs.getString("Fname");
                String lname = rs.getString("Lname");
                String age = rs.getString("Age");

                System.out.println(fname + " " + lname + " " + age);
            }

        } catch (Exception ex) {
            // ignored
        }
    }

    public static void main(String[] args) {
        new db();
    }

}

2 个答案:

答案 0 :(得分:1)

应该是: -

while (rs.next()) {
 doSomething();
}

BR, 勒凯什

答案 1 :(得分:0)

也许可以有一些null引用,因此您不能将catch子句留空,这将导致您不知道try子句中是否出错

所以你打印堆栈跟踪:

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

现在,如果try子句因null引用或其他异常而发生异常,则可以通过打印堆栈跟踪来查看错误。