从Java Gui

时间:2018-12-14 11:48:35

标签: java

我正在尝试从javaNetbeans向我的oracle 11g数据库添加新记录,但是它不起作用。这是我的代码。

private void InsertbtnActionPerformed(java.awt.event.ActionEvent evt) {                                          
     // TODO add your handling code here:
     String PositionType=jTextField1.getText().trim();
     String PositionTypeDesc=jTextField2.getText().trim();
     try{ 
         Class.forName("oracle.jdbc.oracleDriver");
         Connection c= DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:HRM","System","jayden");
         java.sql.Statement st=c.createStatement();
         st.executeUpdate("Insert into PositionType values('"+jTextField1.getText()+"','"+jTextField2.getText()+"')");
         System.out.println();
         JOptionPane.showMessageDialog(Null,"DATA SACVE!");
     }catch (ClassNotFoundException | SQLException e){
     }    
} 

2 个答案:

答案 0 :(得分:2)

问题出在这里:

catch (ClassNotFoundException | SQLException e){
}

现在您遇到了问题,并且

  • 不知道出了什么问题
  • 不知道发生了什么
  • 甚至不知道出了什么问题

获取异常时,至少应以某种方式记录该异常,并正确处理该情况(将其重新抛出,或通过显示错误对话框或类似内容进行错误处理)。您至少应该做的是:

catch (ClassNotFoundException | SQLException e){
    e.printStackTrace();
}

打印异常(类型和消息)以及堆栈跟踪(调用链),并详细说明发生异常的方法/代码行。

这将使您深入了解发生了什么问题以及要解决的问题。

答案 1 :(得分:0)

很可能是类名错误。

“ oracle.jdbc.oracleDriver”不合理,请尝试使用“ oracle.jdbc.OracleDriver”,其中类名以大写字母O开头。按照惯例,Java类名应始终以大写字母开头。

但是请确保也安装了正确的错误处理,如其他答案/注释所建议的那样。