资源预览内容
第1页 / 共114页
第2页 / 共114页
第3页 / 共114页
第4页 / 共114页
第5页 / 共114页
第6页 / 共114页
第7页 / 共114页
第8页 / 共114页
第9页 / 共114页
第10页 / 共114页
亲,该文档总共114页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第6章 使用ADO.NET技术开发数据库,随着网络技术的飞速发展,网络信息的不断增加,数据库访问技术越来越受到大家的关注,ADO.NET数据访问技术受到了大家广泛的好评。,以前,大多数Web页都由静态信息组成,Web站点仅允许访问者读取数据,Web站点的交互性不强,并且不存储访问者的信息,如果必须存储访问者的信息,需要使用数据库并制定数据访问策略,该数据访问策略允许程序员与数据库建立连接,并且提供检索、插入、更新和删除数据的命令。,6.1 企业级SQL Server数据库开发介绍,6.1.1 SQL Server 2005 数据库简介 SQL Server 2005是微软公司在2005年推出的,是之前的SQL Server系列的全新升级。 SQL Server 2005是可用于大规模联机事务处理(OLTP)、数据仓库和电子商务应用的数据库和数据分析平台。,(1)Microsoft SQL Server 2005 Enterprise Edition(企业版) (2)Microsoft SQL Server 2005 Standard Edition(标准版) (3)Microsoft SQL Server 2005 Workgroup Edition(工作组版),(4)Microsoft SQL Server 2005 Developer Edition(开发版) (5)Microsoft SQL Server 2005 Express Edition(学习版),6.1.2 创建与删除数据库,1创建数据库 在SQL Server 2005中,通过SQL Server Management Studio可以创建数据库,用于存储数据及其他对象(如视图、索引、存储过程和触发器等)。,图6.1 选择“新建数据库”,图6.2 “常规”选项卡,2删除数据库,如果用户不再需要某一数据库时,只要满足一定的条件即可将其删除,删除之后,相应的数据库文件及其数据都会被删除,并且不可恢复。,删除数据库时必须满足以下条件: (1)如果数据库涉及日志传送操作,在删除数据库之前必须取消日志传送操作。,(2)若要删除为事务复制发布的数据库,或删除为合并复制发布或订阅的数据库,必须首先从数据库中删除复制品。如果数据库已损坏,不能删除复制品,可以先将数据库设置为脱机状态,然后再删除数据库。,(3)如果数据库上存在数据库快照,必须首先删除数据库快照。,图6.3 删除数据库,图6.4 除去对象,6.1.3 创建与删除数据表,1创建数据表 表定义为列的集合,创建表也就是定义表列的过程(如添加字段、设置字段的主键和索引等属性)。,图6.5 新建表,图6.6 “表设计器”界面,图6.7 设计数据表,图6.8 设置表的主键,图6.9 输入数据表名称,2删除数据表,对于数据库中不需要的数据表,可以将其删除,以释放存储空间。 删除表时,表的结构定义、数据、全文索引、约束和索引等都将永久地从数据库中删除。,6.1.4 分离与附加数据库,分离和附加数据库的操作可以将数据库从一台计算机移到另一台计算机,而不必重新创建数据库。 除了系统数据库以外,其余的数据库都可以从服务器的管理中分离出来,脱离服务器管理的同时保持数据文件和日志文件的完整性和一致性。 分离后的数据库又可以根据需要重新将其附加到数据库中。,图6.10 删除数据表,1分离数据库,图6.11 分离数据库,图6.12 分离数据库,2附加数据库,与分离对应的就是附加操作,它可以将分离的数据库重新附加到数据库中,也可以附加其他服务器组中分离的数据库。 但在附加数据库时必须指定主数据文件(MDF 文件)的名称和物理位置。,图6.13 附加数据库,图6.14 附加数据库,6.1.5 数据库的备份与恢复,备份和恢复数据库对于数据库管理员来说是保证数据库安全性的一项重要工作。 Microsoft SQL Server 2005 提供了高性能的备份和恢复功能,它可以实现多种方式的数据库备份和恢复操作,避免了由于各种故障造成的损坏而丢失数据。 本节主要介绍如何实现数据库的备份与恢复操作。,1备份数据库,“备份数据库”任务可执行不同类型的 SQL Server 数据库备份(完整备份、差异备份和事务日志备份)。,图6.15 备份数据库,图6.16 选择备份目标,图6.17 备份数据库,图6.18 提示信息,2恢复数据库,执行数据库备份目的是便于进行数据恢复,如果发生故障,用户就可以对备份过的数据库进行恢复。,图6.19 还原数据库,图6.20 还原数据库,图6.21 “选项”选项卡,6.2 SQL Server数据库开发常用语句,6.2.1 数据添加语句 在SQL语句中提供了Insert语句进行数据添加,其语法格式如下: INSERT Into table_name (column_list) values (data_values),6.2.2 数据修改语句,在SQL语句中提供了Update语句对数据进行修改,其语法格式如下: UPDATE table_name SET column_name = expression | DEFAULT | NULL ,n WHERE search_condition ,6.2.3 数据删除语句,在SQL语句中提供了Delete语句来删除数据,其语法格式如下: DELETE table_name WHERE search_condition,6.2.4 简单数据查询语句,1简单查询 Select语句是常用的SQL语句之一,通常用来查询数据。 它从数据库中检索数据并将数据以结果集的形式显示给用户。,图6.22 查询结果,2查询结果中不显示重复记录,DISTINCT关键字主要用来从Select语句的结果集中去掉重复的记录。 如果用户没有指定DISTINCT关键字,那么系统将返回所有符合条件的记录组成结果集,其中包括重复的记录。,图6.23 查询所有商品的名称,图6.24 去掉重复商品名称,6.2.5 使用Where子句进行数据查询,Where子句是用来选取需要检索的记录。 因为一个表通常会有数千条记录,在查询结果中,用户仅需其中的一部分记录,这时需要使用Where子句指定一系列的查询条件。 下面是Where子句最简单的语法: SELECT FROM WHERE,为了实现许多不同种类的查询,Where子句提供了丰富的搜索条件,下面总结了5个基本的搜索条件。 (1)比较查询(如=、)。 (2)范围查询(BETWEEN和NOT BETWEEN)。,(3)可选值列表查询(IN和NOT IN)。 (4)模式查询(LIKE和NOT LIKE)。 (5)上述条件的逻辑组合(AND、OR、NOT)。,表6.2 SQL关键字含义,1比较查询,比较查询条件由比较运算符连接表达式组成,系统将根据该查询条件的真假来决定某一条记录是否满足该查询条件,只有满足该查询条件的记录才会出现在最终的结果集中。,表6.3 比较运算符,图6.25 查询“课程成绩表”中课程成绩大于90分的信息,2范围查询,使用范围条件进行查询,当需要返回某一个数据值是否位于两个给定的值之间,通常使用BETWEENAND和NOTBETWEENAND来指定范围条件。,使用 BETWEENAND查询条件时,指定的第一个值必须小于第二个值。 因为BETWEENAND实质是查询条件“大于等于第一个值,并且小于等于第二个值”的简写形式,即BETWEENAND要包括两端的值,等价于比较运算符(=)。,图6.26 显示“学生信息表”中年龄在2021之间的学生信息,3模式查询,有时用户对所要查询的数据表中的数据了解的不全面,例如不能确定所要查询人的姓名,只知道他姓李、查询某个人的联系方式只知道是以“3451”结尾等,这时需要使用LIKE进行模糊查询。 LIKE关键字需要使用通配符在字符串内查找指定的模式,所以读者需要了解通配符及其含义。 通配符的含义如表6.4所示。,表6.4 LIKE关键字中的通配符及其含义,(1)“%”通配符,图6.28 student表中查询姓李的同学信息,(2)“_”通配符,“_”号表示任意单个字符,该符号只能匹配一个字符,利用“_”号可以作为通配符组成匹配模式进行查询。,图6.29 在“学生信息表”中查询姓刘的并且名字是两个字的同学信息,(3)“ ”通配符,在模式查询中可以使用“ ”符号来查询一定范围内的数据。 “ ”符号用于表示一定范围内的任意单个字符,它包括两端数据。,图6.30 在“学生信息表”中查询联系方式以3451结尾的学生,(4)“ ”通配符,在模式查询中可以使用“ ”符号来查询不在指定范围内的数据。 “ ”符号用于表示不在某范围内的任意单个字符,它包括两端数据。,图6.31 在“学生信息表”中查询联系方式以3451结尾但不以2开的学生信息,6.3 熟悉ADO.NET技术,6.3.1 ADO.NET概述 ADO.NET对象可大体分成两大类:一类是与数据库直接连接的联机对象(称为.NET Data Provider),其中包含了Command对象、DataReader对象以及DataAdapter对象等,通过这些类对象,可以在应用程序里完成连接数据源以及数据维护等相关操作;另一类则是与数据源无关的断线对象,例如,DataSet对象以及DataRelation对象等。,DataSet对象是ADO.NET的核心对象。 可以把DataSet对象想成内存中的数据库,它就像是离线的数据一样。 正是由于DataSet对象,才使得程序员在编写程序时可以屏蔽数据库之间的差异,获得一致的编程模型。,ADO.NET的设计原理意于提供给分布式应用程序一种合适的解决方案,用户可以利用连接对象取得数据源里所需的原始数据,并且利用断线对象一次返回给前端用户,前端用户在处理变动数据的过程中,并不需要保持与数据库的连接,当对所有数据完成变动操作之后,则再一次通过连接对象将数据的更新返回到数据库,因为不需要时时保持与数据库的连接,所以能够大大降低所消耗的系统资源。,ADO.NET在.NET中为存取任何类型的数据提供了一个统一的框架,它适用于WinForms应用程序、ASP.NET应用程序和Web Services。,图6.32 ADO.NET对象的组织结构图,6.3.2 .NET数据提供程序,.NET Framework数据提供程序用于连接数据库、执行命令和检索结果,共有以下4种: (1)SQL Server .NET Framework数据提供程序。 (2)OLEDB .NET Framework数据提供程序。,(3)ODBC .NET Framework数据提供程序,主要用于访问ODBC数据源,通过ODBC与数据源进行通信,其数据提供程序类位于System.Data.Odbc命名空间中。,(4)Oracle .NET Framework数据提供程序,主要用于访问Oracle数据源,通过Oracle客户端与数据源进行通信,其数据提供程序类位于System.Data.OracleClient命名空间中。,1SQL Server .NET Framework数据提供程序,SQL Server .NET Framework数据提供程序使用其自身的协议与SQL Server通信。 由于它经过了优化,可以直接访问SQL Server而不用添加OLEDB或开放式数据库连接(ODBC)层,因此它实现数据库连接更加简单,并具有良好的性能。,2OLEDB.NET Framework数据提供程序,OLEDB.NET Framework数据提供程序通过OLEDB服务组件和数据源的OLEDB提供程序与OLEDB数据源进行通信。,3NET Framework数据提供程序模型的核心对象,.NET Framework数据提供程序提供了4个核心对象,分别为Connect
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号