对使用数据源显示信息的web服务器控件,演练:在 GridView Web 服务器控件中使用存储过程显示数据...

演练:在 GridView Web 服务器控件中使用存储过程显示数据

10/22/2014

本文内容

更新:2007 年 11 月

此演练演示如何使用存储过程在 GridView 控件中显示数据。存储过程是存储在 Microsoft SQL Server 数据库中而不是应用程序代码中的 SQL 查询。存储过程比查询代码更安全,而且通常运行速度更快。在此演练中,您将创建检索存储过程结果的 SqlDataSource 控件。SqlDataSource 控件充当 GridView 控件的数据源。GridView 控件读取存储过程生成的结果,并创建显示数据的行和表。

通过此演练,您将学会如何执行以下任务:

在 Visual Web Developer 中连接到 SQL Server 数据库。

使用 SqlDataSource 控件管理数据访问和绑定。

添加一个存储过程以返回将显示在 GridView 控件中的数据。

在 GridView 控件中显示存储过程返回的数据。

系统必备

若要完成本演练,您需要:

Visual Studio 2008 或 Visual Web Developer 2008 速成版。

0bccfc35e74eaedf0b3cde0a215a40a0.gif说明:

Visual Web Developer 2005 速成版 不支持本演练中使用的“添加新存储过程”功能。

SQL Server Express Edition。如果已经安装了 SQL Server,则可以改用 SQL Server,但必须对某些过程进行小的调整。

Microsoft 数据访问组件 (MDAC) 2.7 或更高版本。

如果您使用的是 Microsoft Windows XP 或 Windows Server 2003,那么您已经有了 MDAC 2.7。但是,如果您使用的是 Microsoft Windows 2000,您可能需要升级您计算机上已经安装的 MDAC。有关更多信息,请参见 MSDN 网站中的 Microsoft Data Access Components (MDAC) Installation(Microsoft 数据访问组件 (MDAC) 安装)。

SQL Server Northwind 数据库的访问权限。有关如何下载和安装 SQL Server 示例数据库 Northwind 的信息,请参见 Microsoft SQL Server 网站上的安装示例数据库。

0bccfc35e74eaedf0b3cde0a215a40a0.gif说明:

如果需要有关如何登录到 SQL Server 的信息,请与服务器管理员联系。

创建网站

按照下面的步骤创建一个新的网站和网页。

创建文件系统网站

打开 Visual Web Developer。

在**“文件”菜单上单击“新建”,然后单击“网站”。如果使用的是 Visual Web Developer 速成版,则在“文件”菜单上单击“新建网站”**。

显示**“新建网站”**对话框。

在**“Visual Studio 已安装的模板”之下单击“ASP.NET 网站”**。

在第一个**“位置”框中选择“文件系统”**,在第二个框中输入要保存网站网页的文件夹的名称。

例如,键入文件夹名称“C:\WebSites\StoredProcedure”。

在**“语言”**列表中,单击您想使用的编程语言。

单击**“确定”**。

Visual Web Developer 速成版 将创建该文件夹和名为 Default.aspx 的新页。

添加存储过程以返回数据

若要在 ASP.NET 网页上显示数据,需要下列元素:

到数据源(如数据库)的连接。

在下面的过程中,您将创建一个到 SQL Server Northwind 数据库的连接。

返回要显示的数据的存储过程。

该页上的一个数据源控件,该控件执行存储过程并管理结果。

该页上的一个用于显示数据的控件。

在下面的过程中,您将通过 GridView 控件显示数据。GridView 控件将从 SqlDataSource 控件中获取其数据。

第一步是创建一个存储过程。

创建存储过程以返回数据

在**“服务器资源管理器”中,右击“数据连接”,然后单击“添加连接”。如果使用的是 Visual Web Developer 速成版,请使用“数据库资源管理器”**。

此时将显示**“添加连接”**对话框。

如果**“数据源”列表没有显示“Microsoft SQL Server (SqlClient)”,则单击“更改”,并在“更改数据源”对话框中选择“Microsoft SQL Server”**。

如果显示的是**“选择数据源”对话框而不是“连接属性”对话框,请在“数据源”列表中选择要使用的数据源的类型。对于此演练,数据源类型为“Microsoft SQL Server”。在“数据提供程序”列表中,单击“用于 SQL Server 的 .NET Framework 数据提供程序”,然后单击“继续”**。

0bccfc35e74eaedf0b3cde0a215a40a0.gif说明:

如果“服务器资源管理器”选项卡在 Visual Web Developer 中不可见,请在“视图”菜单上单击“服务器资源管理器”。在 Visual Web Developer 速成版 中,在“视图”菜单上单击“数据库资源管理器”

在**“添加连接”框中,在“服务器名称”**文本框中输入服务器名称。

对于**“登录到服务器”**部分,请选择适合访问正在运行的 SQL Server 数据库的选项(集成安全性或特定 ID 和密码),并根据需要输入用户名和密码。

如果输入了密码,请选中**“保存密码”**复选框。

在**“选择或输入数据库名称”**下输入“Northwind”。

单击**“测试连接”,并在确定该连接生效后单击“确定”**。

新连接已创建并显示在**“服务器资源管理器”中的“数据连接”**下。

在**“服务器资源管理器”中的“数据连接”下展开刚刚创建的数据连接。如果使用的是 Visual Web Developer 速成版,请使用“数据库资源管理器”**。

“数据连接”展开为包括子连接,如“表”、“视图”和“存储过程”。

右击**“存储过程”,然后单击“添加新存储过程”**。

0bccfc35e74eaedf0b3cde0a215a40a0.gif说明:

Visual Web Developer 2005 速成版 不支持“添加新存储过程”功能。

将下面的代码添加到新存储过程中,覆盖所有现有代码。

CREATE PROCEDURE GetEmployees

AS

Select EmployeeID, LastName, FirstName from Employees

RETURN

关闭窗口并单击**“是”**创建存储过程。

0bccfc35e74eaedf0b3cde0a215a40a0.gif说明:

CREATE 关键字在保存该过程时更改为 ALTER。

添加显示数据的 GridView 控件

建立到数据源的连接后,您需要:

该页上的一个数据源控件,该控件执行存储过程并管理结果。

该页上的一个用于显示数据的控件。

在下面的过程中,在 GridView 控件中显示数据。GridView 控件从 SqlDataSource 控件中获取其数据。

可以单独地将这三个元素添加到网站中。但通过使用 GridView 控件对数据显示进行可视化处理,然后使用向导创建连接和数据源控件,更容易着手一些。下面的过程解释如何创建在该页上显示数据所需的元素。

添加并配置用于显示数据的 GridView 控件

切换到或打开 Default.aspx 页,然后切换到**“设计”**视图。

在**“工具箱”中,从“数据”**组中将 GridView 控件拖动到页面上。

在**“GridView 任务”菜单上的“选择数据源”列表中,单击“新建数据源”**。

显示**“数据源配置向导”**对话框。

选择**“数据库”,然后单击“确定”**。

这指定要从 SQL Server 数据库中检索数据。

在**“为数据源指定 ID”**框中,将显示默认的数据源控件名称(“SqlDataSource1”)。保留此名称。

**“配置数据源 SqlDataSource1”**向导显示一个可在其中选择连接的页。

在**“应用程序连接数据库应使用哪个数据连接?”列表中,输入在上一步骤中创建的连接,然后单击“下一步”**。

该向导显示一页,从该页中您可以选择将连接字符串存储到配置文件中。将连接字符串存储在配置文件中有两个优点:

比将它存储在页面中更安全。

可以在多个页中使用同一连接字符串。

选择**“是,将此连接另存为”复选框,然后单击“下一步”**。

该向导显示一页,从该页中可以指定要从数据库中检索的数据。

选择**“指定自定义 SQL 语句或存储过程”选项,然后单击“下一步”**。

在**“定义自定义语句或存储过程”页中选择“存储过程”**,然后选择之前创建的存储过程 (GetEmployees)。

单击**“下一步”**。

单击**“测试查询”**确认要检索所需的数据。

单击**“完成”**。

添加 DetailsView 控件显示存储过程中的数据

可以显示来自接受参数的存储过程的数据。在下面的过程中,将创建一个 DetailsView 控件,以显示 GridView 控件中选定行的计算值。GridView 行将表示一个 Employee 记录,DetailsView 控件将显示为选定雇员计算的总销售额。

需要以下各项:

将雇员 ID 作为参数并返回一个值的存储过程。

该页上的第二个数据源控件,该控件执行存储过程并管理结果。两个数据源控件将表示与同一个数据库 Northwind 的连接。在本演练中,您将重用以前创建的与 SQL Server Northwind 数据库的连接。

该页上的一个用于显示数据的 DetailsView 控件。

第一步是创建存储过程。

创建一个存储过程,以返回要在 DetailsView 控件中显示的数据

在**“服务器资源管理器”中的“数据连接”下展开以前创建的数据连接。如果使用的是 Visual Web Developer 速成版,请使用“数据库资源管理器”**执行此操作。

右击**“存储过程”,然后单击“添加新存储过程”**。

0bccfc35e74eaedf0b3cde0a215a40a0.gif说明:

Visual Web Developer 2005 速成版不支持“添加新存储过程”功能。

将下面的代码添加到新存储过程中,覆盖所有现有代码。

CREATE PROCEDURE EmployeeSales

@Employee int AS

SELECT SUM([Order Subtotals].Subtotal) AS Total

FROM Employees INNER JOIN

Orders INNER JOIN

[Order Subtotals] ON Orders.OrderID = [Order Subtotals].OrderID

ON Employees.EmployeeID = Orders.EmployeeID

WHERE (Employees.EmployeeID = @Employee)

关闭窗口并单击**“是”**创建存储过程。

0bccfc35e74eaedf0b3cde0a215a40a0.gif说明:

CREATE 关键字在保存该过程时更改为 ALTER。

创建了存储过程以提供数据后,需要以下各项:

该页上的一个数据源控件,该控件执行存储过程并管理结果。

该页上的一个用于显示数据的控件。

可以单独地将这三个元素添加到网站中。但通过使用 DetailsView 控件对数据显示进行可视化处理,然后使用向导创建连接和数据源控件,更容易着手一些。下面的过程解释如何创建在该页上显示数据所需的元素。

下一步是对 GridView 控件启用行选择。选定的行将决定传递给存储过程的 EmployeeID 参数。

对 GridView 控件启用行选择

右击 GridView 控件,然后单击**“显示智能标记”**。

在**“GridView 任务”窗格中,检查“启用选择”**。

下一步是创建一个显示存储过程结果的控件。

添加并配置用于显示数据的 DetailsView 控件

切换到或打开 Default.aspx 页,然后切换到**“设计”**视图。

在**“工具箱”中,从“数据”**组中将 DetailsView 控件拖动到页面上。

在**“DetailsView 任务”菜单上的“选择数据源”列表中,单击“新建数据源”**。

显示**“数据源配置向导”**对话框。

选择**“数据库”,然后单击“确定”**。

这指定要从 SQL Server 数据库中检索数据。

在**“为数据源指定 ID”**框中,将显示默认的数据源控件名称(“SqlDataSource2”)。保留此名称。

**“配置数据源 SqlDataSource2”**向导显示一个可在其中选择连接的页。

在**“应用程序连接数据库应使用哪个数据连接?”列表中,输入以前创建的连接,然后单击“下一步”**。

选择**“指定自定义 SQL 语句或存储过程”选项,然后单击“下一步”**。

在**“定义自定义语句或存储过程”页中选择“存储过程”**,然后选择之前创建的存储过程 (EmployeeSales)。

单击**“下一步”**。

显示**“定义参数”**页。

在**“参数源”列表中选择“控件”**。

在**“ControlID”列表中选择“GridView1”**。

单击**“测试查询”确认要检索所需的数据。在“参数值编辑器”对话框中,输入值 1 然后单击“确定”**。值 1 是数据库中某个雇员的 ID。如果数据检索正常运行,会返回一个类似 192107.6000 这样的值。(如果修改了数据库中的数据,值可能会不同。)

单击**“完成”**。

测试该页

现在可以运行页面。

测试页面

按 Ctrl+F5 运行该页。

该页显示在浏览器中。GridView 控件显示 Employees 表中的所有数据行。

在 GridView 控件中单击某个数据行上的**“选择”**链接。

DetailsView 控件显示选定行的详细信息,以及计算选定雇员的总销售额的存储过程的结果。

关闭浏览器。

后续步骤

此演练演示了如何使用 SQL Server 存储过程和数据源控件在 ASP.NET 网页上显示数据。使用 SqlDataSource 控件时,可以按照与使用任何 SQL 语句相同的方式使用存储过程。此外,存储过程可采用与网页上的值关联的参数。以下是可能会使用存储过程的其他情形,这里使用 SQL 语句执行与数据相关的功能:

请参见

任务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值