付録C.2 検索に使用する構造体
(1) 検索結果として取得する構造体
(a) SDBR_QUERYRESULT構造体(検索結果構造体)
- 説明
- 検索結果が格納される構造体です。検索を実行したとき,検索結果として取得できるプロパティの個数とプロパティ情報が設定されます。検索結果が0件の場合には,検索結果構造体の内容はNULLです。
- 形式
struct SDBR_QUERYRESULT {
DmaInteger32 lPropCount; //プロパティ個数
SDBR_PROPERTIES* pProperties; //プロパティ情報
};
- メンバの説明
- lPropCount
検索結果として取得したプロパティの個数が設定されます。
- pProperties
検索結果として取得したプロパティのプロパティ情報を表すSDBR_PROPERTIES構造体の先頭のアドレスへのポインタが設定されます。
- この構造体を出力するメソッド
- CdbrEqlStatement::GetResultメソッド
(b) SDBR_PROPERTIES構造体
- 説明
- 検索結果として取得したプロパティの情報が設定される構造体です。
- 形式
struct SDBR_PROPERTIES {
DmaInteger32 lType; //データ型
DmaInteger32 lCardinality; //基本単位
DmaInteger32 lCount; //プロパティ値の個数
union { //プロパティ値を
// 格納する共用体
pDmaBoolean pbBoolean; //Boolean
pDmaId pId; //ID
pDmaInteger32 plInteger; //Integer
pDmapv pplObject; //Object
ppDmaString_T ppString; //String
} uValue;
};
- メンバの説明
- lType
プロパティの型を示す値として,設定される値を次に示します。
DMA_DATATYPE_BOOLEAN:Boolean型
DMA_DATATYPE_ID: ID型
DMA_DATATYPE_INTEGER32: Integer32型
DMA_DATATYPE_OBJECT:Object型
DMA_DATATYPE_STRING:String型
- lCardinality
基本単位が設定されます。設定される値を次に示します。
DMA_CARDINALITY_SINGLE:Scalar(スカラー)型
DMA_CARDINALITY_ENUM:Enumeration(列挙)型
DMA_CARDINALITY_LIST:List(リスト)型
EDM_DMA_CARDINALITY_VARRAY:VariableArray(可変長配列)型
- lCount
プロパティの値の要素数が設定されます。要素数は,lCardinalityの値に応じて設定されます。lCardinalityの値と設定される値を次に示します。なお,検索結果である,SDBR_QUERYRESULT構造体の内容がNULLの場合,lCountには0が設定されます。
DMA_CARDINALITY_SINGLEの場合:1
DMA_CARDINALITY_ENUMまたはDMA_CARDINALITY_LISTの場合:0以上の値
EDM_DMA_CARDINALITY_VARRAYの場合:1
- 共用体uValueのメンバ
プロパティの値は,共用体uValueのメンバpbBoolean,plInteger,pId,pplObject,ppStringのうち,lTypeに設定された型と名前が一致するものが示す領域に設定されます。
- この構造体を出力するメソッド
- CdbrEqlStatement::GetResultメソッド