ASP.NET 2.0和数据访问
ASP.NET 2.0给我们提供了一个改良的数据访问模式,这个模式减少了在 ASP.NET 1.x中执行数据绑定所需的代码量。首先,无需编程实现实例化、设置属性以及调用前述列表中的ADO对象的方法。您需要做的就是在页面上简单地添加服务器端控件并设置属性。当呈现页面时,ASP.NET 2.0将会自动地执行所有的对象实例化,并调用方法创建并显示数据。请将以下ASP.NET 2.0代码与上面的代码进行对比:
<html>
<head runat="server"><title>Demo</title></head>
<body>
<form id="form1" runat="server">
<asp:SqlDataSource ID="SqlDataSource1" Runat="server" SelectCommand="SELECT au_lname FROM authors WHERE (state = @state)"
ConnectionString="Server=HPSERV; Integrated Security=True;Database=pubs">
<SelectParameters>
<asp:Parameter Type="String" DefaultValue="CA" Name="state" />
</SelectParameters>
</asp:SqlDataSource>
<asp:BulletedList ID="BulletedList1" runat="server" DataSourceID="SqlDataSource1"
DataTextField="Au_lname">
</asp:BulletedList>
</form>
</body></html> |
第二个改进来自于对在页面生存期中的事件敏感的服务器端控件。ASP.NET 2.0 服务器端控件能够在正确的时间做出正确的动作。请注意在ASP.NET 2.0页面中对页面生存期中的事件的任何引用。ASP早期版本的学生一般都会对在页面生存期中执行多种任务感到迷惑,特别是数据绑定。因此,很多ASP.NET 1.x页面都会有这样的让程序员编写代码的遭遇,即在错误的事件下调用DataBind,或者在多个事件中多次调用DataBind。这些定时操作现在都可以通过ASP.NET 2.0的服务器端数据控件来自动完成。
请注意在前面的ASP.NET 2.0的代码中使用了两个服务器端控件。第一个是数据源控件,本例中是SqlDataSource控件。该控件在后台建立了所有显示数据所需的ADO连接对象,包括Connection、Command以及DataReader或者Dataset对象。然后,使用了一个名为BulletedList的数据绑定控件,用来获取数据源控件的数据,并在页面上呈现。
术语 在完成介绍性内容之前,我将提供一个到目前为止所用到的术语表。
· 动态Web页—— 作为代码存储在Web服务器上的文件,当被请求时,可转换为HTML。当页面被转换时,他们可以根据用户和网站拥有者的实时情况而按照不同的请求来获取不同的表单。
· IIS—— 在Windows中内置的Web服务器,用于通过TCP/IP向请求者提供Web页。运行于Windows 2000或者Windows XP Professional上的IIS可以使用.NET Framework类来提供ASP.NET Web页。
· .NET Framework—— 一组包含Microsoft编写的代码的类,可以使得开发应用程序更加方便和快捷,并且更易于在互联网上运行。很多类都已经被封装进能够启用.NET 的大约十多个Microsoft产品当中了。
· CLR(公共语言运行库)—— .NET Framework的一项特性,可以让编程人员用多种语言编写代码,然后将代码编译成可用来部署的单独、统一的语言。
· ASP.NET—— .NET Framework中的运行时和类库集,用来创建动态Web应用程序。
· 数据存储—— 数据被存放和管理的地方。所有的RDBMS都可用于数据存储,但是有些数据存储就不是RDBMS,因为它们不是关系型的。
· 数据库或关系型数据库管理系统(RDMS)—— 一种可以读取和操纵数据的软件。大多数系统包含了用来设计和测试数据库的工具,以及优化过程的工具。一个RDBMS必须按照标准化形式(关系型格式)存储数据。
· DataBase模式(或数据库元数据)—— 数据库结构,包括表和关系的设计。该模式不包括实际的数据值。
· MicrosoftTM Access—— 一种基于MDB文件格式、JET引擎以及一系列用于创建和使用数据库的工具的RDMS。Access价格便宜,容易学习,能被广泛接受并且已经被部署到很多机器上。但是,它不支持太多的并发用户。
· JET—— 运行在后台并使用MDB(Access)文件的数据库引擎。JET可以直接从其他软件(例如.NET或Access)接受命令来读取或者修改MDB文件。
· 结构化查询语言(Structured Query Language,SQL)—— 一种被数据使用者用来从数据提供程序那里请求读取或者写入数据的语言。经过近十年的发展,SQL已经成为与RDBMS通信的标准。
· MicrosoftTM SQL Server—— 一种企业级的RDBMS,可以支持大量的数据和大量的并发用户。
· MicrosoftTM SQL Server Express(SSE)—— 基于Microsoft SQL Server数据库引擎的可免费获得的数据库引擎。与SQL Server不同的是,SSE能提供的同时数据连接数量有限,并且只有少数几个功能。本书将在大多数示例中使用SSE。
· MicrosoftTM Data Engine(MSDE)—— 与SSE类似,但是基于SQL Server引擎的早期版本。MSDE将在本书的练习中使用。
· XML—— 一种标准的数据格式,每个值都被存储并描述。XML不是非常有效率(用于描述的空间通常会超过数据的大小),但是却能被很多不同的数据管理系统方便地读取。
· Web页编辑器—— 一种允许打开和修改页面的软件。最常用的编辑器是记事本。Visual Studio、Visual Web Developer和ASP.NET Web Matrix与其他工具打包成一个编辑器,用以提高效率。 · 集成开发环境(Integrated Development Environment,IDE)—— 一套用来帮助编程人员开发代码的工具。Visual Studio就是一个非常强大的IDE;Web ASP.NET Web Matrix也提供了很多工具。典型的IDE应当包含一个Web页编辑器。
· ADO.NET—— 由Microsoft编写的类(代码)的集合,作为数据存储(例如Access或者XML文件)和数据使用者(例如ASP页面)之间的中间件。
· 连接—— 一个ADO对象,表示数据使用者和数据提供程序之间的惟一路径。
· 命令—— 一个ADO对象,表示一条可以被传递给数据库的SQL语句。
· 参数—— 一个ADO对象,表示在语句进入数据库之前可以被插入Common Object(SQL语句)中的多个数据。
· DataSet—— 一个ADO对象,表示集成至记录或字段中的一组数据。
· 服务器控件—— 一组独立的代码(一个对象),用于在服务器上执行任务,生成兼容HTML的并且发送至浏览器的页面。通过ViewState,服务器端控件可以维持其状态。
· 数据源控件—— 一种服务器端控件,可以创建专门的、惟一的数据库连接。它提供了ADO对象的一种抽象并且使得编写ASP.NET 2.0页面更加快速和容易。数据源控件可用于Microsoft SQL Server、Access、XML以及其他数据源。
· 数据绑定控件—— 一种服务器端控件,可以从数据源控件中获得数据并在页面上呈现它。数据绑定控件将程序员从编写诸如<table>的HTML标记中解脱出来。数据绑定控件可用于呈现表格、列表、树型以及其他结构。
查看本文来源