在 JDBC 中避免 SQL 重复
Avoid SQL duplication in JDBC
我正在努力避免 SQL 重复。我在这里 how to prevent duplication. Java,SQL 找到了这段成功的代码。我知道 rs.next
会移动光标,但它如何帮助避免重复(它是否比较每个值)?所做的只是检查是否还有另一行,如果有 return 正确吗?
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.");
}
您的代码非常简单。您进行查询以获取 table login
的所有行,其中 username = XXX
。然后你通过执行rs.next()
函数检查ResultSet
中是否有任何数据。此函数 returns 一个 boolean
值,当 rs
中还有更多数据时为 true
,当没有更多数据时为 false
。
正如你所说,它也会移动光标。
Does it compare every value(row)?
是的。您的查询查找每一行并检查是否 username = XXX
我正在努力避免 SQL 重复。我在这里 how to prevent duplication. Java,SQL 找到了这段成功的代码。我知道 rs.next
会移动光标,但它如何帮助避免重复(它是否比较每个值)?所做的只是检查是否还有另一行,如果有 return 正确吗?
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.");
}
您的代码非常简单。您进行查询以获取 table login
的所有行,其中 username = XXX
。然后你通过执行rs.next()
函数检查ResultSet
中是否有任何数据。此函数 returns 一个 boolean
值,当 rs
中还有更多数据时为 true
,当没有更多数据时为 false
。
正如你所说,它也会移动光标。
Does it compare every value(row)?
是的。您的查询查找每一行并检查是否 username = XXX