获取或设置查询所构建的 SQL 条件语句,即 SQL WHERE clause 语句。

对于不同引擎的数据源,不同函数的适用情况及函数用法有所不同:

1.对于数据库型数据源(Oracle Plus、SQL Server Plus、PostgreSQL 和 DB2 数据源),函数的用法请参见数据库相关文档。

2.对于文件型数据源(UDB 数据源),可参见SQL查询技术文档

命名空间:  SuperMap.Data
程序集:  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();
}

版本信息

SuperMap iObjects .NET


SuperMap Objects .NET

受以下版本支持: 6.1.3

请参见