我尝试复制username
列中的条目,但结果始终在else
语句中,即数据已成功插入到不应重复的表中基于 if
语句。顺便说一下String value1=username1.getText();
。
代码如下:
String sq = "SELECT username FROM login where username = '"+value1+"'";
if (sq.equals(value1)){
JOptionPane.showMessageDialog(null,"username is already existed! please
create new username.");
}
else{
int k=st.executeUpdate("insert into
login(username,password,firstname,lastname,address,contactno)
values('"+value1+"','"+value2+"','"+value3+"','"+value4+"',
'"+value5+"','"+value6+"')");
JOptionPane.showMessageDialog(null,"Data is successfully saved");
}
最佳答案
您只需创建 SQL 字符串并从不运行它(相反,您将其与用户名进行比较,而用户名始终为 false)。
您应该实际执行它并检查结果。 例如。 (为简洁起见,省略了错误处理和资源清理):
Connection conn = // Connect to the database...
PreparedStatement ps =
conn.prepareStatement("SELECT username FROM login where username = ?";
ps.setString(1, value1);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
JOptionPane.showMessageDialog
(null,"username is already existed! please create new username.");
}
关于java - 如何防止重复。 Java、SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46582390/