●函数
▪根据查询条件查询满足条件的普通点
int32 pt3_query_tags_cond(
const HD3FilterItemSet* pSet,
const HD3Mask* pMask,
HD3HANDLE* phResultSet
);
●参数
pSet
[in] 过滤项集合。
pMask
[in] 属性掩码。
pHResultSet
[in] 结果集句柄。
●返回值
查询成功,返回RD_SUCCESS。查询失败返回其它错误码,见error_code.h。
●说明
▪调用该接口成功后会获得一个查询迭代器的句柄,然后调用ut3_get_item_step接口,传入迭代器句柄和分配的空间(HD3PtTagProp*),返回RDUCCESS就可以获得第一个普通点的属性,再调用ut3_get_item_step返回RD_SUCCESS就可以获得第二个普通点的属性。如此循环的查询直到调用ut3_get_item_step返回错误码为EC_HD_API_QUERY_END表明所有的普通点的ID都查询完毕了。查询完毕后调用ut3_free_iterator方法来释放迭代器。
▪查询条件:
HD3FilterItemSet |
|
typedef struct { int32 nSize; HD3FilterItem* pItem; }HD3FilterItemSet; |
HD3FilterItem |
|
typedef struct { int32 nItemID; enum HD3_RELATION nRelation; char szValue[HD3_LEN_QUERY_ITEM_VALUE * HD3_BASE]; }HD3FilterItem; |
▪nItemID:属性项ID,标识该查询条件针对的某一个具体的属性。
nItemID |
代表的Tag属性项 |
HD3_TAG_COL_COMM_PROP_TAG_NAME |
szTagName |
HD3_TAG_COL_COMM_PROP_ARCHIVING |
bArchiving |
HD3_TAG_COL_COMM_PROP_COMP_DEV |
fCompDev |
HD3_TAG_COL_COMM_PROP_COMP_MAX_TIME |
nCompMax |
HD3_TAG_COL_COMM_PROP_COMP_TYPE |
nCompType |
HD3_TAG_COL_COMM_PROP_CHANGE_DATE |
nChangeDate |
HD3_TAG_COL_COMM_PROP_CHANGER |
szChanger |
HD3_TAG_COL_COMM_PROP_CREATION_DATE |
nCreationDate |
HD3_TAG_COL_COMM_PROP_CREATOR |
szCreator |
HD3_TAG_COL_COMM_PROP_DESCRIPTOR |
szDescriptor |
HD3_TAG_COL_COMM_PROP_DIGITAL_SET |
nDigitalSet |
HD3_TAG_COL_COMM_PROP_ENG_UNITS |
szEngUnits |
HD3_TAG_COL_COMM_PROP_EXC_MAX_TIME |
fExcMax |
HD3_TAG_COL_COMM_PROP_EXC_DEV |
fExcMin |
HD3_TAG_COL_COMM_PROP_REC_ACCESS |
nRecAccess |
HD3_TAG_COL_COMM_PROP_REC_NORMAL_GROUP |
szRecGroup |
HD3_TAG_COL_COMM_PROP_REC_OWNER_GROUP |
szRecOwner |
HD3_TAG_COL_COMM_PROP_SCAN |
bScan |
HD3_TAG_COL_COMM_PROP_MIN_VALUE |
fMinValue |
HD3_TAG_COL_COMM_PROP_TAG_CLASS |
nTagClass |
HD3_TAG_COL_COMM_PROP_TAG_AVALIABLE |
nTagAvaliable |
HD3_TAG_COL_COMM_PROP_OPCREALSE |
nScanPeriod |
HD3_TAG_COL_COMM_PROP_SPAN |
fSpan |
HD3_TAG_COL_COMM_PROP_TAG_ACCESS |
nTagAccess |
HD3_TAG_COL_COMM_PROP_TAG_NORMAL_GROUP |
szTagGroup |
HD3_TAG_COL_COMM_PROP_TAGID |
nTagID |
HD3_TAG_COL_COMM_PROP_TAG_OWNER_GROUP |
szTagOwner |
HD3_TAG_COL_COMM_PROP_TAG_TYPE |
nTagType |
HD3_TAG_COL_COMM_PROP_PARAM1 |
nParam1 |
HD3_TAG_COL_COMM_PROP_PARAM2 |
nParam2 |
HD3_TAG_COL_COMM_PROP_PARAM3 |
nParam3 |
HD3_TAG_COL_COMM_PROP_PARAM4 |
nParam4 |
HD3_TAG_COL_COMM_PROP_PARAM5 |
nParam5 |
HD3_TAG_COL_PT_EXT_PROP_INSTRUMENT_ADDRESS |
szInstrumentAddress |
HD3_TAG_COL_PT_EXT_PROP_INSTRUMENT_ADDRESS_TYPE |
nInstrumentAddressType |
HD3_TAG_COL_PT_EXT_PROP_COLLECTOR_NAME |
szCollectorName |
HD3_TAG_COL_PT_EXT_PROP_COLLECTOR_ID |
nCollectorID |
HD3_TAG_COL_PT_EXT_PROP_DEVICE_NAME |
szDeviceName |
HD3_TAG_COL_PT_EXT_PROP_DEVICE_ID |
nDeviceID |
HD3_TAG_COL_PT_EXT_PROP_SCAN_GROUP_NAME |
szScanGroupName |
HD3_TAG_COL_PT_EXT_PROP_SCAN_GROUP_ID |
nScanGroupID |
HD3_TAG_COL_PT_EXT_PROP_DATA_ORDER |
nDataOrder |
▪nRelation:属性项查询关系。
nRelation |
含义 |
HD3_RELATION_EQUAL |
= |
HD3_RELATION_NON_EQUAL |
<> |
HD3_RELATION_GREAT |
> |
HD3_RELATION_LESS |
< |
HD3_RELATION_GREAT_EQUAL |
>= |
HD3_RELATION_LESS_EQUAL |
<= |
HD3_RELATION_LIKE |
模糊查询,“*”表示多字符模糊查询 ,“?”表示单字符模糊查询 |
▪szValue:属性项的值,用字符串表示。
▪例如查询条件Tag name 以“上海”开头且 TagID小于1000的条件为:
查询条件 |
|
HD3FilterItem fi[2]; HD3FilterItemSet fis;
fi[0].nItemID = HD3_TAG_COL_TAG_NAME; fi[0].nRelation = HD3_RELATION_LIKE; strcpy(fi[0].szValue, "上海*");//Tag name 以”上海“开头
fi[1].nItemID = HD3_TAG_COL_TAGID; fi[1].nRelation = HD3_RELATION_LESS; strcpy(fi[1].szValue, "1000");//TagID 小于1000
fis.nSize = 2; fis.pItem = fi[0]; |
●举例
示例代码参见数据源管理接口。
参见:
●tag3_query_tags_basic_info_by_name
©2015. All Rights Reserved.