0

わかりましたので、新しいプレーヤーをデータベースに追加し、それらのユーザーをリストにロードするプログラムがあります。問題は、ユーザーを削除してから新しいユーザーを追加すると、古いユーザーがいた場所に新しいプレーヤーが追加されることです。基本的に、そのスポットは現在無料で、私は以下を使用しているためです。

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


}
4

1 に答える 1

0

この問題を解決するには、列 'id' を 1 つ追加します。その列は である必要がありますauto increment。また、あなたのUsernameユニークな。

于 2013-04-11T15:26:24.623 に答える