2017-02-01 6 views
1

誰かが結果セットのデータを更新するのは誰ですか(私が更新したいのであれば、私はデータベースを更新し、結果セットのデータは更新しません)。そして、私は基本的なデータベースを更新する必要がある場合、SQLクエリを使用してそれを行う理由は何ですか?結果セットでデータを取得するポイントは、それを更新し、再度updaterow()メソッドを使用してデータベースを更新しますか?JavaのresultsetのupdateString()メソッドのユーティリティは何ですか?

+1

シンプルさと思います。何十億ものレコードを分析し、数学でいくつかの値を編集する必要のあるプログラムについて考えてみましょう。反復処理中は各値を更新するのがずっと速くて簡単です(また読めるだけです)。そして、クエリの作成、すべてのパラメータのバインドと実行の代わりに、ループの最後に 'updateRow()'を呼び出します。 – BackSlash

+0

あなたは意見のみを受け取るでしょう。これにより、結果セットから行う更新に条件を追加する方が簡単です。 – AxelH

答えて

0

これは非常に便利な機能です。 Normalyは更新不可能なResultSetです。しかし、それを更新可能なResultSetとして作成することができます。この簡単な例を見てください。

Statement statement = conection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); 
ResultSet rs = statement.executeQuery("SELECT * FROM ITEMS"); 
while (rs.next()) { 
    int count = rs.getInt("COUNT"); 
    if(count > 0) { 
     rs.updateInt("COUNT", 0); 
     rs.updateRow(); 
    } 
} 

したがって、更新のためにSQLクエリを書く必要はありません。

関連する問題