2

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

rs.moveToInsertRow();

新しいプレーヤーを追加するときに、データベースの最後に「常に」追加する方法はありますか。テーブルから行を削除してデータベースを圧縮し、ギャップがないようにするときのように?

コードは次のとおりです。

public static void Save() { try {

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

1

あなたのテーブル作成ステートメントは何ですか?SHOW CREATE TABLE Accounts ;

テーブル内のAUTO_INCREMENT整数の主キーが問題に役立つようです。

于 2013-04-11T18:33:56.867 に答える