获取或设置查询所构建的 SQL 条件语句,即 SQL WHERE clause 语句。
对于不同引擎的数据源,不同函数的适用情况及函数用法有所不同:
1.对于数据库型数据源(Oracle Plus、SQL Server Plus、PostgreSQL 和 DB2 数据源),函数的用法请参见数据库相关文档。
2.对于文件型数据源(UDB 数据源),可参见SQL查询技术文档。
程序集: SuperMap.Data (in SuperMap.Data)
版本: dll
语法
C# |
---|
public string AttributeFilter { get; set; } |
字段值
默认值为 String.Empty。备注
SQL 查询又称为属性查询,是通过一个或多个SQL条件语句来查询记录。SQL语句是包含属性字段、运算符号和数值的条件语句。例如,你希望查询一个商业区内去年的年销售额超过30万的服装店,则构建的SQL查询语句为:Sales > 30,0000 AND SellingType = ‘Garment’。
示例
以下代码示范如何在 UDB 数据源中对日期字段条件进行 SQL 查询。
假设打开一个工作空间 workspace 对象,工作空间中存在一个 UDB 数据源 datasource 对象。
数据源中包含一个名为 "Countries" 的矢量数据集 datasetVector,包含日期类型的字段 "date"。
CopyC#
public void SQLQueryTest(Workspace workspace, Datasource datasource) { // 取出数据源中名为 "Countries" 的矢量数据集(datasetVector) DatasetVector datasetVector = (DatasetVector)datasource.Datasets["Countries"]; // 构造一个查询参数对象,查询Countries数据集中 date 字段为"1984-08-10"的记录。 QueryParameter para = new QueryParameter(); parameter.AttributeFilter = "date = to_date(1984-08-10 00:00:00)"; para.CursorType = CursorType.Dynamic; // 进行排序查询,并将其结果存储在 recordset 对象中 Recordset recordset = datasetVector.Query(para); // 以 datasetVector 为模板创建数据集 DatasetVector dataset_result = (DatasetVector) workspace.Datasources[0].Datasets.CreateFromTemplate(workspace.Datasources[0].Datasets.GetAvailableDatasetName("Results"), datasetVector); // 将空间查询结果追加到新建的数据集中 dataset_result.Append(recordset); // 依次关闭所有对象 recordset.Dispose(); }