Scott Mitchell的ASP.NET 2.0数据教程之六:编程设置ObjectDataSource的参数值

返回“ASP.NET 2.0数据教程目录”

导言

正如我们在上一节的教程中所看到的,有很多可供选择的方式把参数 的值传递到OjbectDataSource的方法里。假如参数值是采用硬编码方式,来源于 页面上的一个Web控件,又或者其他可被数据源Parameter对象读取的源,那么这 个值可以绑定到输入参数而不需要写一行的代码。

然而有些时候,参数值 来自某些在数据源的内置Parameter对象里还没有计算出来的源。假如我们的站点 支持我们的考虑那么我们也许希望参数基于当前登录用户。又或者我们在参数传 送到ObjectDataSource的隐含对象的方法前做一些客户化定制。

无论什么 时候调用ObjectDataSource的Seelect方法,它都会首先触发它的Selecting事件 ,然后才调用ObjectDataSource的隐含对象的方法,完成后则激发 ObjectDataSource ObjectDataSource的Selected 事件(图一说明这些事件的顺 序)。可以在Selecting事件的事件委托中对参数的值进行设置或更改。

图 1: ObjectDataSource的Selected 和 Selecting 事件分别在调用它 的隐含对象的方法之前和之后触发

这一节里我们将看看添加一个接受一个输入 参数方法到DAL和BLL层,参数名为Month,int类型,方法返回一个 EmployeesDataTable对象,里边包含的是雇佣周年纪念都指定月份的雇员。我们 的例子将编码设置为基于当前月份,显示一个“本月雇用周年纪念员工 ”列表。

让我们开始吧!

第一步: 添加一个方法到 EmployeesTableAdapter

在我们的第一个例子里,我们需要添加一个方法来获 取那些雇用日期(HireDate)在某个指定月份的员工。在我们的程序架构下为了 提供这个功能,我们首先需要在通过特定SQL语句映射出来的 EmployeesTableAdapter中创建一个方法。为了实现这一点,首先打开Northwind 类型化数据集,在EmployeesTableAdapter标签上右键选择“添加查询 ”。

图 2: 在 EmployeesTableAdapter里添加一个查询

选择返回一个或 多个行和列的SQL语句。当到达指定SELECT语句窗口时,EmployeesTableAdapter 已经装载了默认的SELECT语句。简单地,添加一个WHERE子句:WHERE DATEPART (m, HireDate) = @Month 。其中DATEPART是T-SQL里的一个函数,用作返回日期 类型的一部分;在这里,我们使用DATEPART函数返回雇用日期(HireDate)列的 月份部分。

图 3: 仅返回 HireDate 列的值小于等于参数 @HiredBeforeDate的行

时间: 2024-09-17 04:50:27

Scott Mitchell的ASP.NET 2.0数据教程之六:编程设置ObjectDataSource的参数值的相关文章

[翻译]Scott Mitchell 的ASP.NET 2.0数据教程_自学过程

Scott Mitchell 的ASP.NET 2.0数据教程目录索引 01.创建一个数据访问 02.创建一个业务逻辑层 03.母板页和站点导航 04.使用ObjectDataSource展现数据 05.声明参数 06.编程设置ObjectDataSource的参数值 07.使用DropDownList过滤的主/从报表 08.使用两个DropDownList过滤的主/从报表 09.跨页面的主/从报表 10.使用 GridView和DetailView实现的主/从报表 11.基于数据的自定义格式化

Scott Mitchell的ASP.NET 2.0数据教程之一 创建一个数据访问层

返回"ASP.NET 2.0数据教程目录" 导言 作为web开发人员,我们的生活围绕着数据操作.我们建立数据库 来存储数据,写编码来访问和修改数据,设计网页来采集和汇总数据.本文是研 究在ASP.NET 2.0中实现这些常见的数据访问模式之技术的长篇系列教程的第一篇 .我们将从创建一个软件框架开始,这个框架的组成部分包括一个使用强类型的 DataSet的数据访问层(DAL),一个实施用户定义的业务规则的业务逻辑层(BLL), 以及一个由共享页面布局的ASP.NET网页组成的表现层.在打

Scott Mitchell的ASP.NET 2.0数据教程之十一:基于数据的自定义格式化

返回"ASP.NET 2.0数据教程目录" 原文地址: http://www.asp.net/learn/data-access/tutorial-11-cs.aspx 介绍 我们可以通过控制HeaderStyle, RowStyle, AlternatingRowStyle和其他 一些属性来改变GridView, DetailsView, 和 FormView的样式,比如cssClass, Font, BorderWidth, BorderStyle, BorderColor, Wi

Scott Mitchell的ASP.NET 2.0数据教程之五:声明参数

返回"ASP.NET 2.0数据教程目录" 导言 在上一章的教程中,我们看了GridView.DetailsView和FormView 绑定到OjbectDataSource控件显示数据,ObjectDataSource调用了类ProductsBLL 的GetProducts()方法.方法GetProducts()返回一个有Northwind数据库的 Products表的所有记录组成的强类型数据表.类ProductsBLL还包含了其它返回部 分数据的方法:GetProductByPro

Scott Mitchell的ASP.NET 2.0数据教程之四:使用ObjectDataSource展现数据

返回"ASP.NET 2.0数据教程目录" 导言 在完成了应用程序架构和页面的设计后,我们可以开始探讨如何实现多种多样的普通数据到报表展现的任务.前面我们已经了 解到如何在从数据访问层和业务逻辑层绑定数据到ASP.NET页面上的数据控件.在ASP.NET 1.x应用程序中,通过对数据控件的DataSource属性 赋值然后调用控件的DataBind()方法从而实现数据展现的方式在ASP.NET 2.0应用程序中可以继续使用.然而,ASP.NET 2.0的数据源控件提供 了一种新的方式,

Scott Mitchell的ASP.NET 2.0数据教程之三:母板页和站点导航

返回"ASP.NET 2.0数据教程目录" 导言 通常,用户友好的个性化站点都有着一致的,站点统一的页面布 局和导航体系.Asp.net 2.0引入的两个新特性给我们在统一站点的页面布局和站 点导航上提供了简单而有效的工具,它们是母板页和站点导航.母板页允许开发 者创建统一的站点模板和指定的可编辑区域.这样,aspx页面只需要给模板页中 指定的可编辑区域提供填充内容就可以了,所有在母板页中定义的其他标记将出 现在所有使用了该母板页的aspx页面中.这种模式允许开发者可以统一的管理和 定

Scott Mitchell的ASP.NET 2.0数据操作教程之十:使用GridView和DetailView实

Scott Mitchell 的ASP.NET 2.0数据操作教程之十:使用GridView和DetailView实现的主/从报表 返回"ASP.NET 2.0数据教程目录" 导言 在前面的教程我们看到了如何使用两个页面(一个主页,用于列出供应 商; 一个明细页,用于显示选定供应商提供的产品)创建主/从报表 . 这种两个页 面的报表格式也可以集中在一个页面上. 这篇教程将会使用一个GridView, 它的 每一行都包含产品的名称和单价以及一个选择按钮. 单击一个产品的选择按钮会 在同一

Scott Mitchell的ASP.NET 2.0数据操作教程之八:使用两个DropDownList过滤的主

Scott Mitchell 的ASP.NET 2.0数据操作教程之八:使用两个DropDownList过滤的主/从报表 返回"ASP.NET 2.0数据教程目录" 导言 在前面的指南中我们研究了如何显示一个简单的主/从报表, 该报 表使用DropDownList和GridView控件, DropDownList填充类别,GridView显示选定 类别的产品. 这类报表用于显示具有一对多关系的记录时非常合适, 同时它也可 以很容易的被扩展以显示多个一对多关系的数据. 比如, 一个订单系

Scott Mitchell的ASP.NET 2.0数据操作教程之七:使用DropDownList过滤的主/从

Scott Mitchell的ASP.NET 2.0数据操作教程之七:使用DropDownList过滤的主/从报表 返回"ASP.NET 2.0数据教程目录" 导言 主/从报表是一种很常见的报表, 这类报表中首先会显示一些主记 录. 然后用户可以深入(追溯)某条主记录来查看该主记录的详情. 主/从报表是显 示一对多关系的理想选择, 比如一个报表显示所有的产品类别,然后根据用户选择 的特定类别显示与之关联的产品. 另外, 主/从表在显示"宽"表(有 很多列的表)的详细