后在“解决方案资源管理器”中,刷新该文件,就可以看到该文件了,如下图然后切换到“数据库视图”里,就可以看到该数据库了,如图不过在使用时,有时候,当你把一个新的数据库文件.MDF 拷贝到 App_Code 目录下展开时,会出现连接超时的现象,这是因为系统第一次访问该数据库时,除了需要验证必要的信息外,还需要生成数据库日志文件,所以,你只要再次展开数据库文件即可。
3)连接数据库把数据源控件(为了便于说明,这里使用 SqlDataSource 控件)拖放到 default.aspx 上单击“智能感应”右边的 Configure Data Source,出现数据库连接配置向导这里,系统会子定识别在 App_Data 目录下的数据库,如果你不把数据库放置在 App_Data 下,那你就自己建立连接吧然后把数据库连接保存在 web.config 里下一步,选择数据库当然,你可以测试运行的结果接下来,把一个 GridView 控件放到 default 上,设置数据源为 SqlDataSource1,就可以了你也可以利用“Auto Format”设置其样式(2)数据集和数据适配器(传统的数据访问模式)前面介绍了使用 DataSource 控件访问数据库的过程,本节介绍利用数据适配集/数据适配器的访问数据库。
这两种设计模式的差别,使得 GridView 的设计即要支持 DataSource 控件的数据绑定模式,还需要支持数据集和数据适配器这种数据绑定模式,由于这对峰峦冤孽的存在,才让 GirdView 控件的设计时较为复杂。
当然天天感觉,你只要知道这两种差别并具有一些概念就可以了,也不用深究,毕竟大家不是控件开发专家。
2.4 数据集与数据适配器 VS.NET2005 支持传统的数据绑定方式,并为该方式提供了可视化操作,本级将介绍数据集和数据适配器。
2.4.1 强类型化数据集简介 对于大多数应用程序而言,不管将来应用于 Web Server 上还是 Windows Form 上,数据访问都是一个重要的环节。
数据访问更倾向于处理对数据库的读写,您可以单独创建 Helper 类来处理这些共性,但是您仍然需要编写大量的代码。
事实上,我们可能有这样一种感觉:创建数据访问层很乏味,因为对于 DAL 的不同方法,执行 SQL语句或存储过程的 ADO.NET 代码通常是相同或相似的。
尽管可以使用本书前面的方法自定义ADO.NET 代码编写自己的 DAL ,但是 Visual Studio 还是提供了一种方便的方式,可以根据简单向导的输入生成数据访问层。
这种情况下的数据访问层是强类型 的 DataSet 对象。
DataSet 包含TableAdapter 类型,这些类型公开用于返回强类型 DataTable 对象的方法。
这些方法适合用于直接绑定到 ObjectDataSource ,也适合用于从业务逻辑层组件进行调用。
1 )类型化数据集 VS.NET2005 提供了数据集和数据适配器,使用它们可以大大减少代码的编写,利用 VisualStduio.NET 设计器可以以声明的方式生成强类型化数据集。
这里的数据集也是从 ADO.NETDataSet , DataTable 和 DataRow 派生的类,该类对外界提供了安全的 API 接口。
通过 API 接口使得我们可以很容易访问 DataSet 里的数据与数据模式。
可以通过在 VS.NET2005 里通过简单的拖、放操作来生成这些强类型数据集,利用属性设计器还可以建立数据访问模式。
其实您的这些操作就是生成一个类型化的 XML 模式文件定义( XML SchemaDefinition , XSD )。
改 XSD 文件包含了数据库设计模式结构,系统能够根据该结构来将数据包含在 DataSet 中,换句话说, VS.NET2005 将使用该 XSD 文件来生成一个包含数据集类定义的代码文件。
当你在应用程序里访问数据时,数据将根据数据表的不同被组织为一个个业务逻辑实体,例如Category 实体, Product 实体等(数据适配器表),为了能够使用这些数据,您需要将这些逻辑实体转换为类的对象,所以您可以自己为每一个实体编写一个类对象。
这些实体对象一般会为数据访问提供一些属性和方法,您可以在类里使用这些属性和方法以返回强类型集合 强类型化的数据集为建立和委托自定义类对象提供了方便,从本质上说您建立的类对象是一个类型化的 DataSet ,该 DataSet 包含了业务逻辑实体和一些数据集合,但是主要区别是您在以声明的方式编写模式文件,您可以利用 VS.NET2005 的支持以可视化的方式编辑,删除 XML 数据模式文件,VS.NET 能够感知模式文件的变化并更新代码文件类的成员。
另外,由于强类型化 DataSet 是从 ADO.NET 相关类派生,所以您可以重复利用 ADO.NET 提供的数据操作能够,例如数据绑定,数据分页、排序、过滤等常见的工作。
最后一点,也是最重要的一点当您在 VS.NET2005 建立数据集后,您可以为每一张表获取强类型的数据适配器表,使用该数据适配器您可以极大的减少常规代码大编写。
该数据适配器进一步封装了数据的链接 Connection ,数据的执行 Command ,后面会详细介绍这些内容。
2 ) DataSets 和 Business Objects 的比较 一个常见的讨论是:是否在应用程序里使用 DataSets 。
虽然 DataSets 确实为应用程序代码的编写提供了方便,但是由于它封装了许多实现细节,因为在理解性和可控性方面都具有一定的局限性。
在这方面自定义 Business Objects 具有可度性强,理解简单的有点。
但是正如前述, DataSets 可以减类似代码的重复编写。
事实上,对于 Web 而言,数据的读取原比数据的写入占有重要的比例,所以在这简单的数据读取方面, DataSets 将比 Business Objects 更具有优势。
2.4.2 建立数据集与数据适配器 本书在第一章曾介绍如何利用 VS.NET2005 建立数据库,本节继续使用 Database 数据库来说明数据集和数据适配器的使用。
在“ Server Explorer ”视图里,您可以看到 Database 数据库里已经有了 Categories 和 products 两张表,如图 2-42 。
图 2-42 Database 数据库1) 使用 DataSet 设计器 接下来我们将建立 Database 的业务逻辑层, “解决方案资源管理器” 在 里单击鼠标右键选择 Add “New Item... ”,选择“ DataSet ”并将它命名 Database.xsd 如图 2-43 。
在 VS.NET 里建立的 DataSet 将采用默认的文件命名方式。
例如此处建立的文件名为Database.xsd ,则系统以后建立的 DataSet 派生类就命名为 Database 。
相反,如果您此处建立的 DataSet 命名为 MyDAL ,则以后建立的 DataSet 派生类就命名为 MyDAL 类。
接下来会弹出一个对话框,询问你是否将该文件添加到 App_Code 目录下,我们选择“ Yes ”以便后面代码共享。
注意: App_Code 文件夹除了类文件 .cs 外, .XSDWeb Service 等也都可以共享 此后,系统将在 App_Code 目录下建立 Database.xsd 文件并启动“ TableAdapterConfiguration Wizard ”向导如图 2-44图 2-44 TableAdapter Configuration Wizard ”向导2) 建立第一个数据适配器 在图 2-44 里,单击 Next ,系统会询问你是否使用 DatabaseConnectionString 作为连接字符串并保存在 web.config 里,选中“ Yes ”复选框如 引入下一步,选择 SQL 语句的命令类型,可以是 SQL 语句,也可以新建存储过程或者是已经存在的存储过程。
在这里我们使用第一项“ Use SQL statements ”,如图 2-26 。
图 2-46 使用 SQL 语句 在下一步里,我们使用“ Query Builder ”来建立 SQL 语句,如图 2-47 ,你可以单击“ Execute Query ”来查看该 SQL 语句执行的结果。
图 2-47 Query Builder 查询器当返回后将自生成如下的 SQL 语句,参考图 2-48 。
SELECT ProductID ProductName CategoryID Price InStore DescriptionFROM Products 图 2-48 生成 SQL
上一篇:
WebGuard应用保护系统培训资料
下一篇:
建筑学专业美术基础教学改革探析