Q14:SELECTしたデータをループで1レコードずつ回して、情報を取得するようにしたい。
Q14-1:
データベースから情報を取得する際についての質問です。使用しているコンポーネントは、データベースアクセスとテーブルです。現状として、SELECT文実行後、取得データを自動的に一括でテーブルに表示させることは出来たのですが、これを手動的に一件ずつデータ取得する方法が分かりません。最終的に、SELECTしたデータをループで1レコードずつ回して、情報を取得するようにしたいと考えています。
A14-1:
データベースからのデータ取得の際、一般的にはデータベースとの接続回数は少ない方が処理の速度は上がります。
GUIのテーブルに表示しないで、一旦テーブルデータを保持するには[テーブル格納変数]コンポーネントをお使い下さい。変数内のデータはアプリケーション終了後には保持されません。
その後の設定は処理の目的に拠りますが、テーブル格納変数からのデータ取得方法の一例として
・[テーブル格納変数]コンポーネントのメソッド:
getColumnList (int)
列データを位置指定でリスト形式で取得する
getRowList(int)
行データを位置指定でリスト形式で取得する
・[テーブルサブセットフィルター]コンポーネントで選択対象の単一範囲を指定し、目的の行データを取り出す。
などがあります。取得したい行/列番号を引数(整数)で指定します。
また、上記データ取得の際、
・[繰返し制御(FOR)]コンポーネント、[繰返し制御(WHILE)]コンポーネントを使用して、テーブル行数回分処理を行う。
・[整数(BigIntegr)格納変数]コンポーネント、値を1増やす/(減らす)等のメソッドを利用し、取得データ位置指定の引数とする
などが考えられます。
どのように結果を表示させるかなど、目的によって適したコンポーネント、メソッドは変わるかと存じますので、どうかご不明な点は再度ご連絡いただければ幸いです。