Java 无法调试Netbeans中的JDBC代码行

Java 无法调试Netbeans中的JDBC代码行,java,debugging,jdbc,netbeans,Java,Debugging,Jdbc,Netbeans,我在这里尝试学习JDBC和一些java背景。我在学习一门教程,我从这两门课开始学习。这是第一个(我不知道这个类执行什么任务): 下面是我正在处理的部分(来自另一个类,JFrame屏幕)。我没有粘贴整个代码,因为我认为这是不必要的 private void bttn_queryActionPerformed(java.awt.event.ActionEvent evt) { try { /

我在这里尝试学习JDBC和一些java背景。我在学习一门教程,我从这两门课开始学习。这是第一个(我不知道这个类执行什么任务):

下面是我正在处理的部分(来自另一个类,JFrame屏幕)。我没有粘贴整个代码,因为我认为这是不必要的

private void bttn_queryActionPerformed(java.awt.event.ActionEvent evt) {                                           
    try {
        // Establish connection 
        Connection con = DriverManager.getConnection("jdbc:derby://localhost:1527/PersonelDB", "root", "root");

        // Get statement
        Statement stmt = con.createStatement();
        // Execute query 
        ResultSet rs = stmt.executeQuery("SELECT * FROM PERSONEL");

        while (rs.next()) {
            int x = rs.getInt("ID");
            String s = rs.getString("AD");
        }
    } catch (SQLException ex) {
        Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
    }
}    
问题是,当我在第
连接con
等行上放置断点并尝试调试文件时,出现以下错误:

Not able to submit breakpoint MethodBreakpoint [liang260117.TestMethodOverloading].max '(II)I', reason: Breakpoint belongs to disabled source root 'C:\Users\Grundig1\Documents\NetBeansProjects\Liang260117\src'. See Window/Debugging/Sources.
Not able to submit breakpoint MethodBreakpoint [pkg010217.CheckSudokuSolution].getSolution '()[[I', reason: Breakpoint belongs to disabled source root 'C:\Users\Grundig1\Documents\NetBeansProjects\Liang010217\src'. See Window/Debugging/Sources.
有人能帮我处理这个问题吗


谢谢。

我又看了一遍教程,在这一点上,教授自己似乎也遇到了这些错误。所以,没有必要坚持这个问题

顺便说一下,如果有人感兴趣,这里是本教程的链接(土耳其语):


我看到的第一个问题是您没有正确清理资源。通常,在定义连接、语句或结果集时,使用以下设计模式进行定义

Resource resource = null;
Resource2 resource2 = null;
try {
  resource = getResource();
  resource2 = resource.getAnotherResource();
  // do stuff
}
catch(ResourceException ex) {
  // do stuff
}
finally {
  if(resource2 != null) {
    resource2.close();
  }
  if(resource != null) {
    resource.close();
  }
}
请注意,如果您设法定义资源,那么它将在finally块中被清除。如果close方法抛出异常,则需要单独捕获它们。Java7也使用try with resources提供了这个压缩版本

您还缺少derby驱动程序的Class.forName调用(JDBC<4需要)。这是否在教程中的某个地方?这将加载用于连接数据库的驱动程序

我不相信你正在学习的视频教程的质量,因为上面的资源处理对于任何有意义的项目都是必要的,而且教授似乎没有意识到这一点。如果没有更多信息,您的设置可能存在其他问题,我们无法确定。虽然我不会说土耳其语


另外,您的导入语句在哪里

你错过了教程中的上课时间吗?对不起,我没听懂你的话。你能说得更清楚一点或者准确地键入必要的代码吗?@ChantryCargill
Class.forName()
已经十年没有JDBC需要了。那么,实际上我该怎么做呢?为每一行代码(即连接、语句、结果集)编写一个try-catch块,或者是否有其他方法适用于所有代码?关于你回答的第二部分;不过,我还是不知道这个
类。forName
之类的东西。@TossTheAtoms,我将使用2个参考资料用一个例子修改我的答案。此外,您可能不需要Class.forName。如果我们没有阅读教程或之前奇迹般地亲眼目睹过问题,就无法确定您的设置存在问题。老实说,我非常感谢您的兴趣,但正如您之前所说,我的教程不是很有能力,很多时候我选择不坚持不寻常的问题,因为它们在一段时间后开始让我困惑。无论如何,非常感谢您的时间和兴趣。
Resource resource = null;
Resource2 resource2 = null;
try {
  resource = getResource();
  resource2 = resource.getAnotherResource();
  // do stuff
}
catch(ResourceException ex) {
  // do stuff
}
finally {
  if(resource2 != null) {
    resource2.close();
  }
  if(resource != null) {
    resource.close();
  }
}