簡體   English   中英

使用JDBC查詢執行executeUpdate時出現空指針異常

[英]Null Pointer Exception while executeUpdate for a query using JDBC

執行插入查詢時,我得到了空指針異常。 一切似乎都很好,但問題仍然存在。

用於數據庫連接的代碼。

public class DBConnect 
{
    static Connection c ;
    static Statement st ;
    {
        try 
        {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            c=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","ashuthesmartest","ashutosha");
            st=c.createStatement();
        } 
        catch (Exception ex) 
        {
            JOptionPane.showMessageDialog(null, "Database error");
        }
    }   
}

單擊按鈕時執行的操作

private void b3ActionPerformed(java.awt.event.ActionEvent evt) {                                   
    try 
    {
        char[] arr = pa1.getPassword() ;
        String s2 = Arrays.toString(arr) ;
        String s1 = t3.getText() ;
        DBConnect.st.executeUpdate("insert into LOGIN values('"+s1+"','"+s2+"')");   **//EXCEPTION IN THIS LINE**
    } 
    catch (Exception ex) 
    {
        ex.printStackTrace();
    }
} 

在其中創建連接和該語句的初始化塊不是靜態初始化塊。

因此,只有在創建類DBConnect的實例時才執行它。

由於您似乎只是靜態地使用DBConnect ,所以永遠不會發生。 您的初始化塊應設為靜態。 靜態初始化塊的左括號前面有關鍵字static

static {
    // try etc.
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM