抽象データベース(JDBC)のコマンド一覧を見てみましょう
rs.moveToInsertRow();
rs.updateString(1, "AINSWORTH");
rs.updateInt(2,35);
rs.updateBoolean(3, true);
rs.insertRow();
わかりました、その後、私はそれを期待しました
rs.getRow(); //Retrieves the current row number.
この行の新しい行 ID を返しますが、null を取得しました。
ドキュメントを読む:
行を挿入した後、ResultSet はまだ挿入行を指しています。ただし、行が挿入された後にアクセスしようとするとどうなるかはわかりません。したがって、新しい行を挿入した後、ResultSet を有効な位置に移動する必要があります。
よし、電話
rs.moveToCurrentRow();
そして質問。挿入された行に進み、rowId (sql ではなく jdbc インデックス) を取得する方法は? 私は試した
rs.previous();
しかし、例外があります。rs.last() 最後の行に移動します (挿入されません)
特別な列 (ORACLE の行 ID) を計算して読み取ることは提案しないでください。同様の質問はstackoverflowにはありませんが、同様のタイトルで見つかりました。私の環境は、odbc14.jar を使用した Java 6 と oracle 11 です。