-2
我有一個實現動作監聽器的註冊對話框。如果用戶輸入一個名稱並且它已經存在,我想在控制檯上打印一條消息。如果用戶名不存在,MySQL應該將其添加到數據庫中。不幸的是這個代碼將無法正常工作:檢查用戶名是否存在於MySQL Java中
private void regButtonActionPerformed(java.awt.event.ActionEvent evt) {
if(!userBox.getText().equals(""))
{
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/genx", "root", "Warlock1989");
Statement stmt = con.createStatement();
String query = "SELECT name FROM accounts";
ResultSet rs = stmt.executeQuery(query);
while(rs.next())
{
String uname = rs.getString("name");
if(!uname.equals(userBox.getText()))
{
PreparedStatement pstmt = con.prepareStatement("INSERT INTO accounts(name) VALUES(?)");
pstmt.setString(1, userBox.getText());
pstmt.executeUpdate();
System.out.println("Username " + userBox.getText() + " has been registered.");
}
else
{
System.out.println("Username " + userBox.getText() + " already exists.");
}
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
「不起作用」是什麼意思? – Tunaki
打印堆棧跟蹤 – Shriram
沒有堆棧跟蹤。完全沒有任何反應。它不會調用if,else或catch。 –