0

好的,所以我有一个程序,可以在其中将新玩家添加到数据库中,并将用户加载到列表中。问题是当我删除一个用户,然后去添加一个新用户时,新玩家被添加到旧用户所在的位置。基本上是因为那个位置现在是免费的,我使用:

rs.moveToInsertRow();

有没有一种方法可以在添加新玩家时“始终”添加到数据库的末尾。就像您从表中删除一行以使数据库压缩以使其没有间隙一样?

这是代码:

公共静态无效保存(){尝试{

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();
}


}
4

1 回答 1

0

要解决此问题,请添加一列 'id' 。那一栏应该是auto increment。也让你Username与众不同。

于 2013-04-11T15:26:24.623 回答