2011-01-11 4 views
1

これに似た質問があることは知っていますが、どこでも答えは見つかりませんでした。なんらかの理由でResultSetには完全な行をStringや同様のオブジェクトに読み込む機能がないため、完全な行を読み込むための厄介な回避策を作成する必要があり、常に列ごとの処理が必要になります。Java ResultSetで完全な行を読み取る

質問は - これを行うための好ましい方法は何ですか?
クエリ例 - SELECT a,b,c,d,e FROM table WHERE this=that
このクエリの各行をList < String>に追加し、完了したらリストを返したいとします。
現在考えられるのは、各列を読み取り、それをStringに連結してから、ListにStringを追加することです。これを各行に対して行います。
問題は、IMHOはResultSetだけで実行できるときにかなり過剰なコードを補うことです。

アイデア/提案はありますか?

+0

ResultSetは、表形式のデータへの行ベースのアクセス用です。表形式のデータは本質的に2次元なので、すでにデータベースを連結していない限り、常に列があります。 – Joey

+0

リストの要素はどのようにすべきですか?すべての値をまとめておきたいなら、Vincentsのソリューションはうまくいくと思います。コンマで区切られたStringや何かのものを持っていますか? –

答えて

3

あなたはこのようなあなたのための結果concatenateにSQLを使用することができます。

SELECT concat(a, b, c, d, e) as mysinglestringcolumn from table 

は、その後、あなたの結果セットには、あなたがに対処するための唯一の単一の列を持っています。

+0

私はconcat_wsを使っています、ありがとう:) – jurchiks

関連する問題