好的所以我有一个程序可以将新玩家添加到数据库中,并将用户加载到列表中。问题是当我删除用户时,然后去添加新用户添加到新用户所在位置的新用户。基本上因为那个地方现在是免费的,我使用:
rs.moveToInsertRow();
有没有办法在添加新播放器时“始终”添加到数据库的末尾。就像从表中删除一行以使数据库压缩所以它没有间隙?
这是代码:
public static void Save() { 尝试 {
String Name = "#####";
String Pass= "#####";
String Host = "######";
Connection con = DriverManager.getConnection(String.format(
"jdbc:mysql://%s:%s/%s", Host, "####", "####"),
Name, Pass);
Statement stmt = con.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql = "SELECT * FROM Accounts";
ResultSet rs = stmt.executeQuery(sql);
rs.moveToInsertRow( );
String userName= TestForm.UsernameTextField.getText(); //make this equal to whats in textfield
String password= TestForm.PasswordTextField.getText(); //make this equal to whats in textfield
String insertQuery="insert into Accounts (`Username`,`Password`) values ('"+userName+"','"+password+"');";
stmt.executeUpdate(insertQuery);
stmt.close();
rs.close();
}
catch(Exception e)
{
System.out.println("ERROR");
e.printStackTrace();
}
}
答案 0 :(得分:0)
要解决此问题,请添加一列“id”。该列应为auto increment
。同时让您Username
独一无二。