RDB(GET)コンポーネント

kwakui2006-05-22

RDBMSからのSELECT結果をストリームとして読み込みます。

主要プロパティ

名前データ型/候補値マッピング説明
Connectionconnection
接続先のRDBを指定します。
ASTERIA Server Management Consoleにて作成されたRDB接続名を選択します。
ModechoiceSQL入力&出力


SQLの入力方法を選択します。

SQL−SQLBuilderによって自動的にSQLを作成する場合に指定します。

SQL(Manual)−SQLを手入力する場合に指定します。

SQL(Manual)
SQLstring入力&出力


SQLを指定します。実際にRDBMSに対して発行されるSQLです。
「Mode」プロパティがSQLの場合、SQLBuilderによって自動的に作成されます。その場合、このプロパティを開くことによって作成されたSQL文を確認することができます。

「Mode」プロパティの指定に関わらずSQLはMapperによって値を差し込むことができます。

LoopProcessboolean


結果セットをまとめて出力するか1レコードずつループして出力するか選択します。

True−ループの起点となって1レコード(行)ずつストリームに出力されます。

False−すべてのレコード(行)がまとめてストリームに出力されます。

CountZeroExceptionboolean


結果セットのレコード件数が0件だった場合にExceptionとするかどうかを選択します。

True−Exceptionとなります。

False−空のストリームを出力します。

RecordCountinteger   出力


「LoopProcess」プロパティがFalseの場合、RDBから取得したレコード件数が取得できます。

「LoopProcess」プロパティがTrueの場合、常にnullになります。

QueryTimeoutinteger   出力


RDBMSに対してSELECT文を発行してから結果が返ってくるまでの待ち時間を秒単位で指定します。

指定時間を経過しても実行が終わらない場合はExceptionとなります。

0の場合はタイムアウトすることはありません。

RecordFilterboolean


SELECTした結果セットに対してStartRowプロパティとGetCountプロパティでフィルタリングを行うかどうかを指定します。

true - 結果セットをStartRowプロパティとGetCountプロパティでフィルタリングします。

false - 結果セットのフィルタリングは行われません。

StartRowint入力&出力


RecordFilter=Trueの場合に出力するレコードの開始行を指定します。

行のインデックスは1ベースのインデックスです。

StartRowが結果セットの件数よりも大きい場合はRecordNotFoundExceptionが発生します。(CountZeroExceptionがfalseの場合は空の結果セットが出力されます。)

GetCountint入力&出力


RecordFilter=Trueの場合に出力するレコードの行数を指定します。

例えば「StartRow=11」、「GetCount=10」の場合は入力レコードセットの11行目から10行が出力されます。

GetCountに達する前に入力レコードが最終行に達した場合はそこまでのレコードが出力されます。

GetCountが0の場合は、StartRow以降の全ての行が出力されます。

SQLParametercategory入力&出力


SQL中にパラメータ書式を埋め込むことにより、SQLParameterの値をパラメータ、または置換文字列として使用することができます。

詳細については下記トピックを参照してください。

コメント
RDBを使わないシステムなんて滅多にありませんから、これも最重要コンポーネントと言っていいでしょうね。
SQLを書き慣れている人は直接コテコテと書いちゃった方が早い!という場合もあるかと思います。そのときはマニュアルモードでどうぞ。

ASTERIA 実践ガイド ?マウスで楽々プログラミング

ASTERIA 実践ガイド ?マウスで楽々プログラミング