Java: 結果セットを効果的に反復する
Java では、データベースからデータを取得するときにデータベースの結果セットを操作するのが一般的なタスクです。この記事では、結果セット内のレコードをループして特定の値を抽出する効率的なアプローチを検討します。
次の例を考えてみましょう。
String querystring1 = "SELECT rlink_id, COUNT(*)" + "FROM dbo.Locate " + "GROUP BY rlink_id ";
このクエリは、一意の rlink_id を取得します。 dbo.Locate テーブルからの値とそれぞれのカウント。このクエリを実行して ResultSet オブジェクト (rs4) を取得したと仮定すると、次のステップは値を抽出することです。
提供されている元のコードは、
String[] show = {rs4.getString(1)}; String[] actuate = {rs4.getString(2)};
最初の値のみを取得して表示します。結果セットに記録します。すべてのレコードを反復処理するには、while ループを rs4.next() メソッドと組み合わせて使用できます。
このアプローチを改善するために、sids と lids という 2 つのリストを導入しましょう。 rlink_id とカウント。
List<String> sids = new ArrayList<String>(); List<String> lids = new ArrayList<String>();
変更されたコード
while (rs4.next()) { sids.add(rs4.getString(1)); lids.add(rs4.getString(2)); }
最後に、リストを配列に変換して、必要に応じてデータを表示できます:
String[] show = sids.toArray(sids.size()); String[] actuate = lids.toArray(lids.size());
この改良されたアプローチは、結果セット全体を効率的にループし、必要なデータを抽出します。値を取得し、それらを別のリストに保存します。これらのリストは、さらに処理したり表示したりするために簡単に配列に変換できます。
以上がJava ResultSet を効率的に繰り返してデータを抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。