我在java中创建小型社交网络。我遇到一个应该关闭程序并从sql表中删除它们的记录的函数有问题。我试图从我通常的全局变量传递他们的用户名,但它输出为null?
public class Wall extends javax.swing.JFrame {
public static String _Username = "example";
private void buttonExitMouseClicked(java.awt.event.MouseEvent evt) {
if(_Username != null)
{
String sql = "DELETE FROM UsersOnline WHERE username = '" + (Wall._Username)+"';";
System.out.println(sql);
System.out.println(Wall._Username);
try
{
pst = conn.prepareStatement(sql);
pst.execute();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
System.exit(0);
}
else
{
System.out.println("SQL update cannot be performed: _Username == null");
}
}
Output:
DELETE FROM UsersOnline WHERE username = 'null';
null
这个问题特别烦人,因为sql仍然有效,因为它只是没有做任何事情。任何帮助将不胜感激!
答案 0 :(得分:0)
检查一下是否有效。
public static final String _Username = "example";
如果确实如此,则意味着在加载类之后和鼠标事件发生之前,代码_Username中的somwhere已被更改。