收藏 分享(赏)

第4章 调用SQL Server 2005数据库.ppt

上传人:scg750829 文档编号:8271043 上传时间:2019-06-17 格式:PPT 页数:32 大小:169KB
下载 相关 举报
第4章 调用SQL Server 2005数据库.ppt_第1页
第1页 / 共32页
第4章 调用SQL Server 2005数据库.ppt_第2页
第2页 / 共32页
第4章 调用SQL Server 2005数据库.ppt_第3页
第3页 / 共32页
第4章 调用SQL Server 2005数据库.ppt_第4页
第4页 / 共32页
第4章 调用SQL Server 2005数据库.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、调用SQL Server 2005数据库,网络数据库开发,本章重点,SQL Server 2005应用基础 ADO.NET数据库概述 数据库连接对象SqlConnection 构造SQL语句对象SqlCommand 处理结果对象SqlDataReader 参数化对象SqlCommand 存储过程,网络数据库开发,学习目标,通过对SQL Server2005的基础部分进行讲解,希望读者掌握SQL Server2005的主要功能以及如何使用SQL Server2005与VS2005集成环境相结合,并最终实现在VS2005集成开发环境中利用SQL Server2005对数据库与数据表进行管理。,网络

2、数据库开发,4.1 SQL Server2005基础,SQL Server Management Studio 查询分析器 VS2005集成开发环境,网络数据库开发,4.2 ADO.NET数据库概述,在企业管理中,数据的管理和分析常常是现代管理的核心。因此,开发企业管理的网站时,访问、管理和分析数据总是程序的关键环节。然而在网站中访问和管理数据本身并不是一件简单的事情,这是由于两方面的因素决定的。首先,网站需要的数据可能来自不同的数据源,例如数据库、文件、XML文档等。就以数据库来说,市场上还存在着各种不同类型的数据库,它们要求的接口也各不相同。其次,由于网站工作在开放的Internet环境中

3、,网络数据库的访问比单机数据库的访问存在着更多的矛盾,例如,数据安全、访问效率,以及多用户同时访问时可能引发的竞争等,这些都需要得到妥善的解决。,网络数据库开发,4.2 ADO.NET数据库概述,当前市场上存在着数十种不同类型的数据库,常用的有Access、SQL Server、Oracle、Informix、DB2等。这些数据库分别由不同的公司开发,技术都比较成熟。由于这些数据库采用的数据格式和接口各不相同,因此当应用程序访问它们时,就需要分别编写不同的接口,这种需要给应用程序的设计带来了麻烦。如何来解决这个矛盾呢?解决的方法就是由系统提供各种不同数据库的驱动程序,然后放在应用程序与数据库之

4、间作为中间环节。 微软公司提供的通用接口,多年来已经经历了几次大的改进:ODBCOLEDBADOADO.NET。,网络数据库开发,4.2 ADO.NET数据库概述,网络数据库开发,4.2 ADO.NET数据库概述,ADO.NET访问数据采用层次结构,其逻辑关系如图所示。 图的顶层代表Web应用层,底层代表各种不同类型的数据源,包括不同类型的数据库、XML文档等。中间是数据层(Data Layer),下面是数据提供器(Provider)。在这个层次结构中,数据提供器起到了关键的作用。 Provider相当于ADO.NET的通用接口。各种不同的数据提供器对应于不同类型的数据源。每个数据提供器(Pr

5、ovider)相当于一个容器,包括一组类以及相关的命令,它是数据源与数据集(DataSet)之间的桥梁。它可以根据需要将相关的数据读入内存中的数据集,也可以将数据集中的数据返回到数据源。,网络数据库开发,4.2 ADO.NET数据库概述,网络数据库开发,4.2 ADO.NET数据库概述,在ADO.NET中数据集与数据提供器是两个非常重要而又相互关联的核心组件。数据集(DataSet)与数据提供器(Provider)的关系如图所示。 图的左边代表数据集(DataSet),右边代表数据提供器(Provider)。 数据集是实现ADO.NET断开式连接的核心,从数据源读取的数据先缓存到数据集中,然后

6、被程序或控件调用。数据源可以是数据库或者XML数据。 数据提供器用于建立数据源与数据集之间的联系,它能连接各种类型的数据,并能按要求将数据源中的数据提供给数据集,或者从数据集向数据源返回编辑后的数据。,网络数据库开发,4.2 ADO.NET数据库概述,网络数据库开发,4.2.2 ADO.NET 体系结构,Provider作为数据集与数据源之间的桥梁,主要任务是建立两者之间的联系。Provider相当于一个容器,包括4种核心类,其类名及其作用如下。 Connection(连接)类:用于建立与数据源的连接。 Command(命令)类:用于设置适合于数据源的操作命令,以便执行检索、编辑或输出参数等数

7、据操作。 DataAdapter(数据适配器)类:每张表对应一个数据适配器,用来向数据集中填入数据,或者从数据集中读出数据。 DataReader(数据读取)类:用于从数据源向应用程序读取只向前的、只读的、无缓冲的字符流。,网络数据库开发,4.2.2 ADO.NET 体系结构,在ASP.NET应用程序中需要通过ADO.NET访问数据需要引入命名空间。 1、System.Data 2、 System.Data.Command 3、 System.Data.Oledbf 4、 System.Data.SqlClient 5、 System.Data.SqlTypes,网络数据库开发,4.2.3 A

8、DO.NET中的对象,ADO.NET中包括各种各样的对象,但对于SQL Server数据库的一般访问和操作,主要包括3个核心对象,分别是:SqlConnection,SqlCommand,SqlDataReader 1、SqlConnection对象:要实现与一个数据库的交互,实现对一个数据库的访问和操作,必修先创建和该数据库的连接。,网络数据库开发,4.2.3 ADO.NET中的对象,2、SqlCommand对象:在建立与数据库的连接之后,必须为指定的连接的数据库构造相关的SQL语句,以便实现对该数据库的相关访问和操作。通过执行SqlCommand对象中的相关方法,可以向相关数据源发送相关S

9、QL语句命令或者调用数据库中定义的存储过程,从而实现对该数据库的相关访问和操作。,网络数据库开发,4.2.3 ADO.NET中的对象,3、SqlDataReader对象:通过SqlCommand对象向数据源发送相关SQL命令后,就可以从数据源中返回一个SqlDataReader对象的数据流,通过对该数据流的进一步操作,就可以获得数据库中的相关信息。,网络数据库开发,4.3 数据库连接对象 SqlConnection,创建SqlConnection对象时,它被初始化为“关闭”状态。如果在“关闭”状态下对数据库的任何操作都会有提示出错的信息。这时要调用SqlConnection对象的Open方法打

10、开连接。 如果SqlConnection对象已经打开,则此时再调用Open方法也会提示出错信息。如果在不确定数据库是否为打开状态,可以先检查一下SqlConnection对象的状态特征,通过State属性查看。,网络数据库开发,4.3 数据库连接对象 SqlConnection,在Connection类中最重要的属性是ConnectionString。该属性用来指定服务器名称、数据源信息以及其他登录信息。以MSSQL数据库的连接对象为例,类名为SqlConnection,其创建的语句是: Data Source=服务器名实例名;Initial Catalog=数据库名称;数据库连接方式 方式一

11、:数据库用户登录模式 Data Source=.SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True 方式二:Windows登录方式 Data Source=.SQLEXPRESS;Initial Catalog= Northwind; UId=sa;Password=123,网络数据库开发,4.3 数据库连接对象 SqlConnection,创建一个SqlConnection对象的代码 String strconn; /定义一个字符串 Strconn=“Data Source=.SQLEXPRESS;Initial Cat

12、alog= Northwind;Integrated Security=True” /字符串赋值 SqlConnection conn=new SqlConnection(strconn);案例P128,网络数据库开发,4.3.4 SqlConnection对象的常用属性,1、ConnectionString 2、ConnectionTimeout 3、Database和DataSource 4、State,网络数据库开发,4.4 SqlCommand对象,SqlCommand对象允许执行多种不同类型的查询。通过SqlCommand对象,可以设定对打开连接的数据库进行操作,如对数据库执行查询、

13、添加相关记录、更新和删除某条记录等操作。,网络数据库开发,4.4.1 创建SqlCommand对象,可以通过三种方式创建SqlCommand对象: 方式一:使用New关键字直接创建对象的一个实例,例如, SqlCommand cmd = new SqlCommand (“SELECT * FROM XS“, conn); 方式二:使用可用的构造函数来指定查询字符串和SqlConnection对象,例如:SqlCommand cmd=new SqlCommand();cmd.CommandText=“ SELECT * FROM XS “;cmd.Connection=conn; 方式三:调用S

14、qlConnection类的CreaterCommand方法。,网络数据库开发,4.4.2 对数据进行操作,通过在SqlCommand对象中构造不同类型的SQL语句之后,再调用SqlCommand对象中相关方法,即可实现各种数据操作(如数据查询、添加、更新、删除等操作)。 Command常用的几个方法: 1、ExecuteReader() ;执行指定的SQL语句或存储过程名,返回值类型为DataReader 2、ExecuteScalar();返回结果集中的首行首列 3、ExecuteNonQuery();执行命令并返回受影响的行数,网络数据库开发,4.4.2 对数据进行操作,1、数据查询 实

15、现数据查询的SqlCommand对象代码如下: SqlCommand cmd = new SqlCommand(“select CategoryName from Categories“, conn);SqlDataReader rdr = cmd.ExecuteReader();,网络数据库开发,4.4.2 对数据进行操作,2、插入数据 实现插入功能的SqlCommand对象代码如下:string insertString =“ insert into Categories(CategoryName, Description) values (Miscellaneous, Whatever

16、doesnt fit elsewhere)“; SqlCommand cmd = new SqlCommand(insertString,conn); cmd.ExecuteNonQuery(); /调用方法执行SQL语句,网络数据库开发,4.4.2 对数据进行操作,3、更新数据 实现数据更新功能的SqlCommand对象代码如下:string updateString =“update Categories set CategoryName = Other where CategoryName = Miscellaneous“; SqlCommand cmd = new SqlCommand

17、(updateString); cmd.Connection = conn; cmd.ExecuteNonQuery();,网络数据库开发,4.4.2 对数据进行操作,4、删除数据 实现数据删除功能的SqlCommand对象代码如下: string deleteString = “delete from Categories where CategoryName = Other“; SqlCommand cmd = new SqlCommand(); cmd.CommandText = deleteString; cmd.Connection = conn; cmd.ExecuteNonQue

18、ry();,网络数据库开发,4.4.2 对数据进行操作,5、返回单一值 实现返回单一值功能的SqlCommand对象代码如下: SqlCommand cmd = new SqlCommand(“select count(*) from Categories“, conn); count = (int)cmd.ExecuteScalar();案例P136,网络数据库开发,4.4.3 实现对象之间的关联,在实际应用中,在构造各种SQL 语句时,需要使用参数化的SQL语句,因此就需要使用参数化的SqlCommand对象。 首先新建参数化的SqlCommand对象,再定义SqlParameter对象,

19、实现SqlParameter对象和SqlCommand对象的关联。 具体方法如下: String inputCity=“beijing”; SqlCommand cmd = new SqlCommand(“select * from Customers where city = City“, conn);cmd.Parameters.Add(new SqlParameter(“city“, inputCity);reader = cmd.ExecuteReader();,网络数据库开发,4.5 处理结果对象SqlDataReader,使用DataReader类可以实现对特定数据源中的数据进行高

20、速、只读、只向前的数据访问。与数据集(dataSet)不同,DataReader是一个依赖于连接的对象。就是说,它只能在与数据源保持连接的状态下工作。 因此执行的过程往往是: 首先打开与数据源的连接; 调用DataReader类的Read()方法; 操作DataReader对象; 调用DataReader类Close()方法; 然后关闭与数据源的连接。,网络数据库开发,4.5 处理结果对象SqlDataReader,4.5.2读取DataReader 对象中数据的主要方法: SqlDataReader sdr; 1、sdr.GetInt(0) /读取第1字段的值 2、(强制转换类型)sdr“字段名” 3、(强制转换类型) Sdr列标 /列下标从0开始,网络数据库开发,4.5 处理结果对象SqlDataReader,4.5.3关闭SqlDataReader对象 Try /数据访问代码 finallyif (rdr != null)rdr.Close(); ,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报