-1

なぜ私のpkは私のデータベースで自動++しないのですか?データベースに新しい詳細を挿入するたびに、okauto+1を許可したい...

public void generatePK(){
        try{
            rsCombineItem = stmtSearch.executeQuery("SELECT * FROM CombineItem;");
            while(rsCombineItem.next()){
                this.pk = rsCombineItem.getInt(1);
            }
            this.pk+=1;
        }
        catch(Exception e){
            JOptionPane.showMessageDialog(null,e);
        }
    }
4

2 に答える 2

2

これは、コードではなく、データベース側で設定する必要があるものです。データベースの列を主キーとして設定し、自動インクリメントします。SQL Serverの使用例については、例を参照してください。

于 2012-07-09T15:27:33.683 に答える
0

ここで何をしようとしているのかはまったくわかりません。挿入について話しますが、selectステートメントを表示します。データベースでのインクリメントについて話しますが、コードでインクリメントしています。;generatePKを返すというメソッドがあります。void等...

簡単な答えは、これを処理するデータベースを取得する必要があるということです。すべての半ばまともなデータベースは、主キーを明示的にサポートしており、自動割り当ておよび自動インクリメントを行うことができます。これを行うためにテーブルを設定するだけで、必要に応じてデータベースに(結局のところ任意の)主キーを選択させることができます。

于 2012-07-09T15:29:53.753 に答える