数据库应用开发中的数据处理与查找操作
立即解锁
发布时间: 2025-08-23 01:04:14 阅读量: 1 订阅数: 3 


JBuilder数据库应用开发指南
### 数据库应用开发中的数据处理与查找操作
在数据库应用开发中,数据的处理和查找是非常重要的环节。下面将详细介绍使用计算列进行聚合操作、创建自定义聚合事件处理程序、创建查找以及指定应用所需数据等方面的内容。
#### 使用计算列进行聚合操作
在进行聚合操作时,我们可以通过以下步骤来实现:
1. **选择列并定义聚合**:在组件树中选择`GROUP_TOTAL`列,双击`agg`属性以显示`agg`属性编辑器。
2. **设置聚合属性**:
- 在“可用列”列表中双击`CUST_NO`,将其作为定义组的字段。
- 从“聚合列”列表中选择`TOTAL_VALUE`,作为要聚合数据的列。
- 从“聚合操作”列表中选择`SumAggOperator`,作为要执行的操作。
- 以上选择将计算给定客户的所有销售总和。此步骤会在`jbInit()`方法中生成以下源代码:
```java
column1.setAgg(new com.borland.dx.dataset.AggDescriptor(new String[] {"CUST_NO"},
"TOTAL_VALUE", new com.borland.dx.dataset.SumAggOperator()));
```
3. **运行应用查看结果**:选择“运行|运行”来运行应用,查看聚合结果。运行应用时,聚合字段的值将自动根据`TOTAL_VALUE`字段的变化进行调整。同时,`TextFieldControl`中显示的值将显示当前所选行的`CUST_NO`的聚合值。
#### AggDescriptor 对象
`agg`属性编辑器提供了一个简单的界面来创建和修改`AggDescriptor`对象。`AggDescriptor`对象的构造函数需要以下信息:
- **分组列**:一个字符串数组(顺序任意),表示用于定义`DataSet`中行子集的列名,聚合操作将在这些行上进行。
- **聚合列**:一个字符串,表示要聚合其值的列的名称。
- **聚合运算符**:`AggOperator`类型对象的名称,用于执行实际的聚合操作。
`agg`属性编辑器使用 CMT 提取可能的列名作为分组列,并将它们显示为“可用列”列表。分组列列表中只允许非计算、非聚合的列名。如果为其列定义`agg`属性的`DataSet`具有`MasterLink`描述符(即它是一个详细`DataSet`),则在定义新的`AggDescriptor`时,链接列名将默认添加到分组列列表中。
#### 创建自定义聚合事件处理程序
如果需要使用 JBuilder 提供的聚合方法之外的方法,可以创建自定义聚合事件处理程序。有以下两种方式:
1. **通过 UI 设计器编码事件**:通过 UI 设计器对`calcAggAdd`和`calcAggDelete`事件进行编码。这两个事件是`StorageDataSet`事件,在`AggOperator`收到更新操作通知后调用。例如,在一个行项目表(如`SALES`)中总计列时可以使用这些事件。可以使用内置的`SumAggOperator`对美元金额进行总计。还可以添加其他聚合列,将`AggDescriptor`的`aggOperator`属性设置为`null`,用于应用税费或折扣百分比、计算运费并计算最终总计。
2. **实现自定义聚合类**:通过扩展`AggOperator`并实现抽象方法来实现自定义聚合运算符组件,从而创建自定义聚合类。实现组件的优点是可以在其他`DataSet`中重用。例如,可以创建用于计算平均值、标准差或方差的聚合类。
#### 创建查找
列的值可以从以下来源获得:
- 数据库列中的数据
- 从文本文件导入的结果
- 计算的结果,包括计算列、聚合数据、在另一个数据集中查找的数据或通过选择列表选择的数据
下面介绍两种创建查找的方式:
##### 教程:使用计算列创建查找
这种查找方式根据指定的条件从指定表中检索值,并将其显示为当前表的一部分。创建计算列的步骤如下:
1. **创建新应用**:选择“文件|关闭”,然后选择“文件|新建”,双击“应用程序”图标,接受所有默认设置。
2. **添加数据库组件**:从“数据快递”选项卡中点击“数据库”组件,然后在组件树中点击添加。在检查器中设置其连接属性如下:
| 选项 | 选择 |
| ---- | ---- |
| 连接 URL | jdbc:odbc:DataSet Tutorial |
| 用户名 | SYSDBA |
| 密码 | masterkey |
3. **添加查询数据集组件**:添加一个`QueryDataSet`组件,设置其查询属性为`select * from EMPLOYEE_PROJECT`,测试查询确保其有效性,成功后点击“确定”。再添加另一个`QueryDataSet`组件,设置其查询属性为`select EMP_NO, FIRST_NAME, LAST_NAME from EMPLOYEE`,同样测试并点击“确定”。
4. **添加网格控件**:添加一个`GridControl`,并将其`dataSet`属性设置为`queryDataSet1`,以便在设计器和应用运行时查看数据。
5. **创建新列**:在组件树中点击`queryDataSet1`组件左侧的“+”号,选择`<new column>`,在检查器中设置新列的属性如下:
| 属性名 | 值 |
| ---- | ---- |
| calcTyp
0
0
复制全文
相关推荐










