Java-全局变量在鼠标事件函数中不起作用
我正在用java创建小型社交网络。我遇到了一个函数的问题,该函数应该关闭程序并从sql表中删除它们的记录。我试图从我常用的全局变量中传入他们的用户名,但输出为nullJava-全局变量在鼠标事件函数中不起作用,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) {
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,总是小事!