2013-05-02 147 views
0

這裏是我的procedure..and代碼,當我點擊確定按鈕,它表明...插入存儲過程

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException 
    at Masters.DesignationMaster.actionPerformed(DesignationMaster.java:423) 
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) 
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) 
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) 
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) 
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) 
    at java.awt.Component.processMouseEvent(Component.java:6505) 
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) 
    at java.awt.Component.processEvent(Component.java:6270) 
    at java.awt.Container.processEvent(Container.java:2229) 
    at java.awt.Component.dispatchEventImpl(Component.java:4861) 
    at java.awt.Container.dispatchEventImpl(Container.java:2287) 
    at java.awt.Component.dispatchEvent(Component.java:4687) 
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) 
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) 
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) 
    at java.awt.Container.dispatchEventImpl(Container.java:2273) 
    at java.awt.Window.dispatchEventImpl(Window.java:2719) 
    at java.awt.Component.dispatchEvent(Component.java:4687) 
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729) 
    at java.awt.EventQueue.access$200(EventQueue.java:103) 
    at java.awt.EventQueue$3.run(EventQueue.java:688) 
    at java.awt.EventQueue$3.run(EventQueue.java:686) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) 
    at java.awt.EventQueue$4.run(EventQueue.java:702) 
    at java.awt.EventQueue$4.run(EventQueue.java:700) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) 
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:699) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) 
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) 

//我的程序

DELIMITER $$ 
CREATE DEFINER=`root`@`localhost` PROCEDURE `desig_procedure`(

    IN designation_id  int(10), 

    IN designation_name  varchar(20) 

) 
BEGIN 
    insert into designation_master 
(
    designation_id, 
    designation_name 
) 
VALUES 
(
    designation_id, 
    designation_name 
); 

END 

// Java代碼的

if(!"".equals(editDesignationIDTextField.getText()) && !"".equals(editDesignationNameTextField.getText())) 
     { 
      con= new InitializeDatabase(); 
      //con.getConnection(); 
       try 
       { 
        CallableStatement stmt=(CallableStatement) con.connection.prepareCall("{call desig_procedure(?,?)}"); 
        stmt.setString("" + editDesignationIDTextField.getText(),"" + editDesignationNameTextField.getText()); 
        stmt.execute(); 

       } 
       catch (SQLException ex) 
       { 
        ex.printStackTrace(); 
       } 
       finally 
       { 
        try { 
         if(con.connection != null && !con.connection.isClosed()) 
         { 
          con.connection.close(); 
         } 
        } catch (SQLException ex) 
        { 
         ex.printStackTrace(); 
        } 
       } 
      } 
     } 

這是什麼問題,我得到這個錯誤..我有連接作出...並正常工作,因此測試從文件InitialiseDatabse.java ..請幫助..

+0

什麼是423號線? :DesignationMaster.java:423 – 2013-05-02 06:08:33

+0

你的問題是什麼?請清楚.. !! – 2013-05-02 06:10:34

回答

0

的問題是在這裏:

stmt.setString("" + editDesignationIDTextField.getText(), 
    "" + editDesignationNameTextField.getText()); 

你沒有用正確的方法設置參數:

stmt.setString(1, "" + editDesignationIDTextField.getText()); 
stmt.setString(2, "" + editDesignationNameTextField.getText()); 

注意,您String改建工程,但不這樣做的最佳方式。由於getText方法已經返回String,你不需要"" +部分:

stmt.setString(1, editDesignationIDTextField.getText()); 
stmt.setString(2, editDesignationNameTextField.getText()); 

相關: