Java - 全局变量在鼠标事件函数中不起作用

时间:2015-04-13 19:30:13

标签: java sql null mouseevent

我在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仍然有效,因为它只是没有做任何事情。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

检查一下是否有效。

public static final String _Username = "example";

如果确实如此,则意味着在加载类之后和鼠标事件发生之前,代码_Username中的somwhere已被更改。