gpt4 book ai didi

java - 使用 JDBC 执行查询的 executeUpdate 时出现空指针异常

转载 作者:太空宇宙 更新时间:2023-11-03 11:55:25 24 4
gpt4 key购买 nike

我在执行插入查询时收到空指针异常。一切似乎都很好,但问题仍然存在。

用于数据库连接的代码。

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();
}
}

最佳答案

创建连接和语句的初始化 block 不是静态初始化 block 。

因此,它只会在您创建类 DBConnect 的实例时执行。

因为您似乎只是在静态地使用 DBConnect,所以这永远不会发生。你的初始化 block 应该是静态的。静态初始化 block 在左大括号前有关键字 static:

static {
// try etc.
}

关于java - 使用 JDBC 执行查询的 executeUpdate 时出现空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33190996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com