初始化变量错误Java

时间:2016-06-28 13:32:29

标签: java sql

我正在尝试从Java内部的SQL语句中打印一些结果,并且我收到一条错误,说这些变量需要初始化但是我不确定除了将它们设置为null之外如何执行此操作这不是我想在这里做的,我的错误是在尝试关闭strscon时,我被提示初始化变量,但这只是设置它们至null,这是我目前的代码:

public static void copyFolder(File src, File dest)
    throws IOException {
    Connection con;
    Statement st;
    ResultSet rs;

    try {
        con = DriverManager.getConnection("removed as it houses sensitive data");
        st = con.createStatement();
        String s = "SELECT Code FROM dbo.\"FK Facades$Dimension Value\" WHERE [Dimension Code] = 'PROJECT'";
        rs = st.executeQuery(s);
        while (rs.next()) {
            rs.getString(1);
            System.out.print(rs);
        }
    } catch (Exception e) {
        System.out.println("No connectarino");
    } finally {
        try {
            st.close();
            rs.close();
            con.close();
        } catch (Exception e) {
            System.out.println("No");
        }
    }
}

2 个答案:

答案 0 :(得分:2)

除了已经说过的内容之外,你应该像这样开始使用try-with-resources

    try (Connection con = DriverManager.getConnection("removed as it houses sensitive data");
         Statement st = con.createStatement();
         ResultSet rs = st.executeQuery("...")) {
        // your code here
    }

这会自动为您关闭实例,甚至可以获得正确的案例(即close()中的例外)。

答案 1 :(得分:1)

您需要初始化extern "C" { #include <gnuplot_i.h> } int main(int argc, char** argv) { gnuplot_ctrl * h; h = gnuplot_init(); return 0; } const,因为例如,如果try块中的第一行失败,您将没有这些变量的值,因此它无法执行最后阻止这就是你编译失败的原因。

所以它应该是:

rs

NB:关闭语句

之前的结果集