このメソッドは、現在の METADATA プロパティおよびその他のプロパティから結果セットを作成します。
LCConnection
count = lcConnection.Select (keyFieldlist, recordIndex, destFieldlist)
パラメータ |
説明 |
---|---|
keyFieldlist |
LCFieldlist。選択キー。KeyFieldlist 内のフィールドのうち、LCFIELDF_KEY フラグが設定されているフィールドが選択キーとして使用されます。キーフィールドの値が一致するレコードのみがコネクション先から選択されます。不等式キーを使用するには、LCFIELDF_KEY_XXX (GT -- より大、LT -- より小、NE -- 等しくない) フラグを追加します。結果セットを制限するのに、キーフィールドをいくつでも指定できます。キーを指定しない場合、または「Nothing」を指定した場合、すべてのレコードが結果セットに選択されます。 |
recordIndex |
Long、1 以上。キーフィールド値を含むレコードを選択する、キーフィールドリスト内の、インデックスで指定されたレコード位置。 |
destFieldlist |
LCFieldlist。選択された結果セットのメタデータを格納するフィールドリスト。結果セット内のフィールドがこのフィールドリストに追加されます。結果セットのメタデータが必要ない場合は「Nothing」を使用します。 |
値 |
説明 |
---|---|
count |
Long。結果セットのレコード数。 Connector によってレコード数の判断がつかない場合は、定数 LCCOUNT_UNKNOWN が返されます。 |
LCConnection の Select メソッドを使用するときには、次のことを考慮してください。
複数の Select 呼び出しで再使用できるように destFieldlist 内の既存のフィールドをすべて削除するには、古いフィールドリストを破棄し、次の方法で新しいフィールドリストを作成します。
Set destFieldlist = New LCFieldList(args)
取得するレコード内のフィールドを別のフィールドリスト内のフィールドにマッピングする必要があるなどの理由で、この方法が適切でない場合は、別の方法もあります。メタデータに含まれているフィールドが分かっている場合は、Select ステートメントで返されたフィールドリストへとデータを取り出す代わりに、destFieldlist 引数に Nothing キーワードを指定し、事前に手動で作成したフィールドリストを使用してデータを取り込むとよいでしょう。
「LIKE」比較演算子でのパターンマッチングのルールは、Connector によって異なります。詳しくは、使用しているデータベースのドキュメントを参照してください。
Option Public
Uselsx "*lsxlc"
Sub Initialize
Dim src As New LCConnection ("db2")
Dim fldLst As New LCFieldList
Dim count As Integer
' set the appropriate properties to connect to the data sources
src.Database = "Gold"
src.Userid = "JDoe"
src.Password = "xyzzy"
src.Metadata = "customer"
' connect to the two data sources
src.Connect
' now connected, we can execute a selection statement
count = src.Select (Nothing, 1, fldLst)
Select Case count
Case LCCOUNT_UNKNOWN
Print "An overview number of records were located."
Case 0
Print "No data were located."
Case Else
Print "The table contains " & Cstr(count) & " records."
End Select
End Sub
An overview number of records were located.
このメソッドは、DB2® 内の定義された METADATA オブジェクトから結果セットを作成します。
Select メソッドでは、以下のプロパティを使用して結果セットの内容とプロパティを制限します。
プロパティ |
説明 |
---|---|
METADATA |
ターゲットレコードが含まれるコネクション先のメタデータを指定します。 |
WRITEBACK |
サポートされる場合、ライトバックの結果セットを作成するかどうかを指定します。TRUE の場合、生成される結果セットでは LCXUpdate および LCXRemove のライトバックバージョンがサポートされます。ライトバックの結果セットを使用すると、一般的にソースのメタデータはロックされます。 |
FIELDNAMES |
結果セットに含めるフィールドのリストを指定します。このテキストリストに指定したフィールドのみが、指定した順番で結果セットに追加されます。フィールドリスト内のフィールドは、このリストと同じ順番となります。実際のレコード値を並べ替えるには ORDERNAMES を使用します。何も指定しないと、すべてのメタデータフィールドが追加されます。複数のフィールドはテキストリストで指定するか、またはカンマかセミコロンで値を区切ったテキスト形式で指定します。 |
ORDERNAMES |
フィールドのテキストリストを指定します。最初から最後まで、昇順に結果セットのデータが並べ替えられます。何も指定しないと結果セットは並べ替えられません。複数のフィールドはテキストリストで指定するか、またはカンマかセミコロンで値を区切ったテキスト形式で指定します。 |
CONDITION |
作成される内部ステートメントに組み込む条件文節を指定します。各 Connector で定義されている構文で指定します。 |
STAMPFIELD |
タイムスタンプ (範囲指定) として使用するフィールド名を指定します。この値を設定すると、BASESTAMP に指定された日時の最小値が Connector によってチェックされます。また、Connector ではデータプロバイダから現在の時間が取得され、その値が MAXSTAMP プロパティに設定されて、時間の上限値として使用されます。 |
BASESTAMP |
STAMPFIELD を設定した場合、選択の対象とする基準日時を指定します。STAMPFILD の値が BASESTAMP の値より大きいレコードだけが選択されます。STAMPFIELD を設定していない場合は、このプロパティは無視してください。 |
MAXSTAMP |
STAMPFIELD を設定した場合、データソースから現在の日時が取得され、このプロパティに設定されます。STAMPFILD の値がこの値以下のレコードだけが選択されます。STAMPFIELD を設定していない場合は、このプロパティは無視してください。 |
SCROLLABLE |
サポートされる場合、生成される結果セットで順方向のスクロールだけでなく、逆方向のスクロールもサポートするかどうかを指定します。 |
RECORD_LIMIT |
サポートされる場合、生成される結果セットのレコード数がこの値以下に制限されます。0 (デフォルト) を指定するとレコード数は制限されません。 |
キーフィールドリスト内のキーは、条件となるキー値を表します。デフォルトの条件は等式ですが、フィールドフラグを使用すると他の条件を指定できます。
不等式のキーフラグである GT、LT および NE をチェックする場合、フラグのないデフォルトの状態は等式です。
不等式フラグでは、次の組み合わせが有効です。
また、LCFIELDF_KEY_LIKE フラグを LCFIELDF_KEY と組み合わせると、LIKE 比較演算を実行できます。LIKE 比較演算のサポートの有無およびその動作は、使用している Connector によって異なります。