[英]java.lang.NullPointerException Error in my Database
我的代码有问题吗? 关于我的代码在哪里 go 错了,我已经差不多一个小时了,每次我添加一个信息时,它总是显示一个错误,它是 nullpointerexception,这里有热情的程序员来帮助这个业余程序员吗? 我才刚开始。
if (tf_accnum.equals("") || tf_bankID.equals("") || uname.equals("") ||pword.equals("")) {
JOptionPane.showMessageDialog(null,"ALL FIELDS ARE REQUIRED");
} else {
try {
String sql = "Insert into tbl_memaccount(memaccID,memberID,username,password)values(?,?,?,?)";
PreparedStatement pst = con.prepareStatement(sql);
ps.setString(1,tf_accnum.getText());
ps.setString(2,tf_bankID.getText());
ps.setString(3,uname.getText());
ps.setString(4,pword.getText());
ps.execute();
JOptionPane.showMessageDialog(null,"Successful");
} catch(Exception ex) {
System.out.println(ex);
}
}
我猜测异常来自第一行。 如果您的任何变量tf_accnum, tf_bankID, uname or pword
是 null,您将得到java.lang.NullPointerException
。
您可以使您的空字符串检查安全,如下所示:
if ("".equals(tf_accnum) || "".equals(tf_bankID) || "".equals(uname) || "".equals(pword))
使用上面的代码,即使您为输入变量获得 null 值,它也不会出现异常,并将继续执行else
代码部分。 但是您在设置插入参数时会遇到异常,因为您使用了 {your variable}.getText() 。
您的代码的完整安全版本将是:
if (tf_accnum == null || "".equals(tf_accnum)
|| tf_bankID == null || "".equals(tf_bankID)
|| uname == null || "".equals(uname)
|| pword == null || "".equals(pword)) {
JOptionPane.showMessageDialog(null,"ALL FIELDS ARE REQUIRED");
} else {
try {
String sql = "Insert into tbl_memaccount(memaccID,memberID,username,password)values(?,?,?,?)";
PreparedStatement pst = con.prepareStatement(sql);
ps.setString(1,tf_accnum.getText());
ps.setString(2,tf_bankID.getText());
ps.setString(3,uname.getText());
ps.setString(4,pword.getText());
ps.execute();
JOptionPane.showMessageDialog(null,"Successful");
} catch(Exception ex) {
System.out.println(ex);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.