【发布时间】:2020-06-17 04:26:43
【问题描述】:
我正在尝试检查用户名是否存在于我的数据库中 - 或不存在。我使用了以下逻辑,虽然出现了错误,但它也将用户的数据存储在数据库中。
一般情况是,如果出现错误,除非解决了错误,否则不会进行任何进程。
但它仍然存储名称和其他内容。是的,我正在尝试应用检查(我不太擅长)
String checkName="SELECT * FROM administrator WHERE name1='"+name+"'";
Pstat = con.prepareStatement(checkName);
rs = Pstat.executeQuery();
if(rs.next())
{
nameTextField.setText(null);
JOptionPane.showMessageDialog(null,"Please Enter Different Name","Error", JOptionPane.ERROR_MESSAGE);
}
这里Pstat是PreparedStatement的一个实例,con是Connection的一个实例,rs是ResultSet的一个实例。
adminstrator 是表名,name1 是列名。
抱歉,我最近从 c++ 切换到 Java。对支票了解不多。
我收到一个错误
请输入其他名称
但是当我点击 Ok 时,我得到另一个弹出窗口
您的数据已输入
(这个弹出窗口是用户制作的,所以不用担心java如何在数据输入方面变得如此智能)
是的,我对next() 了解一些。但我在if 声明中看不懂....
谁能告诉我if 语句的后端发生了什么?
【问题讨论】:
-
if语句只是检查用户是否存在,清除一些文本字段并弹出错误消息 - 然后代码流继续,就好像用户 不存在 存在.请提供minimal reproducible example -
那么
regex呢?我也使用了正则表达式,但结果与if相同。它显示弹出错误并仍然输入数据 -
提示 - 每当您提出问题时,请提供您所指的完整代码,正如@AlexRudenko 指出的那样。最好的方法是在 Github 或 BitBucket 上为您的代码创建一个公共 Git 存储库,并将存储库的链接添加到问题描述中。然后通过提供文件名和共享 sn-ps 来提及您具体引用的代码文件。将使每个人的生活更轻松一点。人们无法正确猜测您在 sn-p 上方和下方所做的事情。绝对不在 StackO 上。除了我。在某些情况下。只有当它足够明显时。