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

Java-全局变量在鼠标事件函数中不起作用,java,sql,null,mouseevent,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) {

我正在用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在null中仍然有效,它只是不做任何事情。任何帮助都将不胜感激

检查一下这是否有效

public static final String _Username = "example";

如果是这样,则表示在加载类之后和鼠标事件发生之前,您代码中的某些地方的用户名已更改。

在本例中,“null”是SQL的有效字符串参数“null”不等于null。在查询之前添加空检查,并编写要执行的可选操作。这就是为什么我要问,我需要_Username将其放入函数中,我不明白它为什么要重新初始化为空墙。_Username必须在代码中的某个地方设置为空(在发布的代码之外),因为它已初始化为“示例”。然后问题就变成了:在哪里?谢谢@copeg和DesirePRG,总是小事!