java - 如何检查 jFrame 的 MySQL 表中是否已存在唯一值?

标签 java mysql swing jframe

我在 jFrame 按钮上有这个:

label.setVisibility(false);


ResultSet rs = state.executeQuery("SELECT Str_Column FROM Table WHERE Str_Column = '"+ jTextField.getText() +"'");

//check for the existance

if(rs.getString("Str_Column").equals(jTextField.getText())){
   label.setVisibility(true);
}

else{
   new frameForSucceedInput.setVisibility(true);
}

如果 if-case 为 true 或者并不总是显示成功窗口,这就是我不希望发生的情况,它会告诉有关 ResultSet null 原因冲突的信息,所以我尝试了另一种方法:

if(state.execute("SELECT Str_Column FROM Table WHERE Str_Column = '"+ jTextField.getText() +"'")){
   label.setVisibility(true);
}
else{
   new frameForSucceedInput.setVisibility(true);
}

state.execute("SQL") 方法说:

return true if the query contains results, return false if the query is a update or no contain results

我已经尝试过 rs.next() 和很多类似的事情,而不是 else 做另一个 if(rs==null) 但不起作用,请帮助

最佳答案

一种非常通用且更简单的方法是使用 SQL 计数函数。

select count(*) from table where str_Column = ?

这样您将得到一条记录,只有一个值,如果该值大于 0,则可以显示该框架。

注意:

  1. 您应该使用prepared statement这样您就可以在查询中设置参数(您注意到问号了吗?),而不是连接查询的元素。
  2. 您不应该将与演示文稿(Swing)相关的代码与与数据库相关的代码混合在一起......但我认为您稍后会学到它。

关于java - 如何检查 jFrame 的 MySQL 表中是否已存在唯一值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29742466/

相关文章:

java - 将图像添加到 Applet Java

Java:JTextPane 加载不透明?

java - 使用 StAX 为 XML 创建索引以便快速访问

java - 在 Java 中打包这些类的惯用方法是什么

mysql - 在单选按钮中插入数组。 0 代表错误答案,1 代表正确答案

java - Swing 星级

JavaFX通过initialize方法实现Post render事件

C++ Mysql Connector 需要 boost

mysql - phpMyadmin 无法将默认值设置为 Null

java - 在 java swing 中移动组件