gpt4 book ai didi

java - PreparedStatement 抛出 .NullPointerException

转载 作者:行者123 更新时间:2023-12-01 04:49:02 25 4
gpt4 key购买 nike

public class MyBean {

private Connection con;

Set combinations;
public MyBean()
{

try
{
Class.forName("oracle.jdbc.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");
con.setAutoCommit(true);

}
catch( ClassNotFoundException cfe )
{
cfe.printStackTrace();
}
catch( SQLException se )
{
se.printStackTrace();
}

}

public boolean CustRegistration( String name,String username, String pwd, String address, String city,String state,long phoneno)
{
try
{
PreparedStatement st = con.prepareStatement("insert into custreg values(?,?,?,?,?,?,?)");
st.setString(1,name);
st.setString(2,username);
st.setString(3,password );
st.setString( 4,address);
st.setString(5,city);
st.setString(6,state);
st.setLong(7 ,phoneno);
int i = st.executeUpdate();

if( i > 0 )
return true;

}
catch( SQLException sety )
{
sety.printStackTrace();
}
return false;
}
public boolean check_Customer( String username,String password )
{
try
{
PreparedStatement st;
st = con.prepareStatement( "select * from custreg where username=? and password=?" );

st.setString(1,username);

st.setString(2,password );

ResultSet rs = st.executeQuery();

if( rs.next() )
{
st.close();
return true;
}

st.close();
}
catch( SQLException sert )
{
sert.printStackTrace();
}

return false;
}

///////////////////////////////////////////////< br/> 当我尝试连接数据库时,它会抛出空指针异常堆栈跟踪是:

java.lang.NullPointerException
Bean.MyBean.check_Customer(MyBean.java:35)// line 35 is prepared statement which uses connection
Servlets.LoginSubmit.doPost(LoginSubmit.java:63)//the code here is
if( mybean.check_Customer( user,pass ) )

javax.servlet.http.HttpServlet.service(HttpServlet.java:647) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)

最佳答案

我假设堆栈跟踪中的 check_Customer 实际上是 CustRegistration 方法。在这种情况下,这意味着 con 字段未设置(为空)。

在构造函数中,您捕获异常然后打印它们。我认为你遇到了这些异常(exception)之一。也许您的类路径中没有 oracle 驱动程序?

关于java - PreparedStatement 抛出 .NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15325899/

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