DB2 9和ASP.NET2.0构建下一代应用程序之一
简介
本教程描述了使用具有 ASP.NET 2.0 主从复合关系增强的 DB2 的益处。过去,通过连接两个数据网格来支持主从复合关系通常很困难,但是现在,借助 Visual Studio 2005 和 ASP.NET 2.0,只需使用合适的控件就能构建主从复合关系应用程序。
本教程演示如何在不编写代码的情况下构建主从复合应用程序。不必编写代码,我们使用 ASP .NET 2.0 中的 Grid View 和 Details View 控件构建一个示例应用程序,其功能是显示一个公司特定部门的职员。
为何使用支持 ASP.NET 2.0 的 DB2 9 呢?
借助对 IBM 原生 XML 的充分支持和对 Microsoft 的行业主流开发平台 .NET 的支持,DB2 9 引发了数据管理领域新的变革。DB2 现在支持许多与 .NET 相关的特性,这使它成为 .NET 数据库的最佳搭档。有了这两项强大技术,您只需花很少的时间就可以创建数据驱动 web 应用程序,从而节约了成本并提高了开发人员生产率。
ASP.NET 2.0 拥有的新特性使其非常值得 web 开发人员去尝试。本教程演示如何使用 ASP.NET 2.0 的新 GridView 和 DetailsView 检索 DB2 数据库的主从复合数据。
创建表
本教程演示如何使用一些新控件构建基于主从复合结构的应用程序,而只需编写很少代码或者不需编写代码。教程中的例子演示如何创建一个典型 HR 场景应用程序 —— 创建的应用程序显示特定部门的职员信息。
此场景需要建立两个独立的表 —— Department 表和 Employee 表。要创建这两个表,可以重用 SAMPLE Database,该数据库是 DB2 9 在安装过程中创建的。
表的结构如清单 1 和 2 所示:
代码
清单 1. DEPT1 表的示例代码
| DDL Statements for table "ANILM"."DEPT1" ------------------------------------------------ CREATE TABLE ANILM.DEPT1 ( DEPTNO CHAR (10) NOT NULL, DNAME VARCHAR (50), LOCATION VARCHAR (10)) DDL Statements for primary key on Table "ANILM"."DEPT1" ALTER TABLE ANILM.DEPT1 ADD CONSTRAINT PK_DEPTNO PRIMARY KEY (DEPTNO); DDL Statements for foreign keys on Table "ANILM"."EMP1" ALTER TABLE ANILM.EMP1 ADD CONSTRAINT FK_DEPTNO FOREIGN KEY (DEPTNO) REFERENCES ANILM.DEPT1 (DEPTNO) |
清单 2. EMP1 表的示例代码
| DDL Statements for table "ANILM"."EMP1" ------------------------------------------------ CREATE TABLE ANILM.EMP1 ( EMPNO CHAR (10) NOT NULL, ENAME VARCHAR (40), DEPTNO CHAR (10), SALARY DECIMAL (10, 2), EMAIL VARCHAR (50)) DDL Statements for primary key on Table "ANILM"."EMP1" ------------------------------------------------------------- ALTER TABLE ANILM.EMP1 ADD CONSTRAINT PK_EMPNO PRIMARY KEY (EMPNO); |
请注意:
用各自的模式名称替换 ANILM。
现在表已经创建好了,接下来插入一些有效的数据。对于 Department 表,需要添加 4 个部门的数据:
在 DEPTNO 下面,分别添加 10、20、30 和 40。
对于 DNAME,输入 IT、MKT、FIN 和 HR
在 LOCATION 下面,添加 BLR、HYD、CHE 和 DEL
完成后的表应该与表 1 类似:
表 1. Department 表
| DEPTNO | DNAME | LOCATION |
|---|---|---|
| 10 | IT | BLR |
| 20 | MKT | HYD |
| 30 | FIN | CHE |
| 40 | HR | DEL |
对于 EMP1 表,请确保为职员输入正确的 DEPTNO,以维持引用完整性。完成后应该与下表类似:
表 2. Employee 表
| EMPNO | ENAME | DEPTNO | SALARY | |
|---|---|---|---|---|
| 1 | Anil Mahadev | 10 | 100000 | anilm001@gmail.com |
| 2 | James Brown | 10 | 10000 | jamesb@gmail.com |
| 3 | Jane Doe | 20 | 10000 | janed@gmail.com |
| 4 | Michelle Cooper | 20 | 200000 | michellec@gmail.com |
现在整个数据库基础结构已经完成,在添加到应用程序前还需完成以下步骤。
注意:如果在安装 DB2 过程中启用了操作系统安全性,则必须向 DB2 Users 组添加所需的用户,以便 ASP.NET 访问该应用程序。
1. 选择 Start > All Programs > Administrative Tools > Computer Management,如图 1 所示:
图 1. 导航到 Computer Management
2. 在 the Computer Management 部分下面,请选择 Users and Groups。
然后,在 Groups 下面,双击 DB2Users 组。
图 2. Computer Management 下面的 DB2 Users Group
3. 向组中添加 ASPNET 用户和 Operating System 用户,如图3、4、5 和 6 所示:
双击 DB2 Users Group >Advanced > Find Now。图 3 显示了该步骤:
图 3. 定位到 Operating System 中的 ASPNET User
从列表中选择 ASPNET 用户并单击 OK。
图 4. 向 DB2 Users 组添加 ASPNET 帐户用户

现在您能够看到 ASPNET 帐户,选择 OK 完成该任务,如下图所示:
图 5. 向 Computer Management 下的 DB2 Users Group 添加 ASPNET 帐户用户

图 6 显示 ASPNET 用户现在已在 DB2 Users Group 中。
图 6. ASPNET 帐户用户现在已在 DB2 Users Group 中

您还需要添加 Windows Login,Windows 用户针对它向 Debuggers Group 构建 Visual Studio Application。
注意:安装了 Visual Studio 2005 之后,会默认添加该功能。如下图所示:
图 7. Windows 当前用户已在 Debuggers Users 组中

创建好表并检查所需的属性之后,就可以用 Visual Studio 2005 创建简单的主从复合应用程序了。该应用程序允许用户查看属于特定部门的职员信息。您可以在 Command Editor 中运行 清单 1 和 清单 2 中的 SQL 语句。将 SCHEMA 由 ANIL 更改为您选择的名字或者在 Control Center 中随意使用 Table Editor。
DB2 9和ASP.NET2.0构建下一代应用程序之二
构建应用程序的步骤
运行 Visual Studio 2005。选择 ASP.NET WebSite 图标。选择语言为 C# 或 Visual Basic,如图 8 所示:
图 8. 在 Visual Studio 2005 中创建新的网站
单击 OK 之后,默认情况下进入 Source View。由于本教程的特色就是不用编写代码,因此我们接下来转换到 Design View。
展开 Toolbox。在 Data Tab 下面,将 GridView 控件和 Details View 控件拖放到 Webform 上。您的应用程序应该如图 9 所示:
图 9. GridView 和 DetailsView 控件的 Toolbox 项

现在必须配置 GridView 和 DetailsView 数据源。在 Visual Studio 2005 中配置数据源非常简单。单击 Grid View 控件,然后在 Data Source 下面选择 New Data Source。
选择 Database 并为其命名,在本教程中命名为 DB2Conn。单击 OK。
图 10. 配置 DataSource Window
接着打开一个对话框,提示您指定一个到 DB2 数据库的现有连接。图 11 显示了该步骤:
图 11. Default Connection Window
注意:DB2 Connection Wizard 现在被替换,并被添加到 Server Explorer,以帮助在连接到多种数据库时保持一致性。
配置 Grid View
选择所创建的连接,连接到 DB2。
单击 Next 并为该连接命名,在本例中命名为 Master-Detail,然后单击 Next。
您将被要求从 DB2 选择表。从选项中选择 Dept1 表,并单击 * 复选框显示所有记录。最后,单击 Finish。
图 12. Dept1 表
配置 Details View
还需要选择 EMP1 作为您的表。 单击 WHERE 按钮。需要修改 SQL 语句,以显示属于特定部门的职员信息。要实现此目的,填写以下信息:
Column: DEPTNO
Operator: =
Source: Control(这允许我们选择 GridView1 作为源控件检索合适的职员信息)。
Control ID: GridView1
单击 Add 完成 SQL 查询表达式。图 13 显示了这些步骤:
图 13. 配置 Details View 控件
单击 OK 和 Finish。
现在 Grid View 完成了。您也许想自动设置 Grid View 和 Details View 的格式,以使其更加美观。 现在您有了按照下图配置的网格,并且可以运行应用程序了:
图 14. 所设计页面的最终显示效果
按下 F5 运行应用程序。
最终的应用程序应该与下图类似:
图 15. 完整的主从复合应用程序的最终显示效果
现在应用程序能够正常工作了,单击 Select 链接选择部门编号,然后就会返回对应的职员详细信息。
结束语
本教程向您展示了使用 ASP.NET 2.0 处理 DB2 9 非常简单。有了针对 .NET 的 IBM 工具的精确集成,使用 IBM DB2 9 开发基于 web 和 Windows 的应用程序不再那么困难。使用 Grid View 和 Details View 控件,能够轻易实现这些应用程序。










