第4章 ADO.NET基础.net%bb%f9%b4%a1.ppt_第1页
第4章 ADO.NET基础.net%bb%f9%b4%a1.ppt_第2页
第4章 ADO.NET基础.net%bb%f9%b4%a1.ppt_第3页
第4章 ADO.NET基础.net%bb%f9%b4%a1.ppt_第4页
第4章 ADO.NET基础.net%bb%f9%b4%a1.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章ADO.NET基础,ADO.NET是ASP.NET数据库开发的关键,最新版本是ADO.NET3.5。在ADO.NET中包含了多个数据库处理类,如Connection类、Command类等,这些类帮助完成连接数据库、获取数据、更新数据、删除数据等操作。确切的说,ADO.NET向程序员公开了数据访问服务的类,程序员通过这些类或者组件,可以方便的操作数据库。本章就介绍ADO.NET包含的一些常用类和操作。,4.1配置数据库:SQLServer2005,SQLServer2005是最流行的数据库,而且它与ASP.NET的结合最好,ADO.NET也提供了很多可以轻松操作SQLServer2005的数据库的类。本节首先做好SQLServer数据库开发前的准备。,4.1.1安装SQLServer2005,本节介绍如何安装SQLSever2005,具体步骤如下所示,每一步操作都仔细参考说明。,4.1.2准备数据,为了学习后面介绍的一些数据库方法,这里需要准备一些数据,方便操作。可以从微软的官方网站下载一些默认的数据库,如Northwind、Pubs等,也可以自己创建一个数据库,并在其中创建一个表,输入表格需要的一些数据。因为在本章学习的操作中,会涉及到一些数据库的复杂操作,所以本章使用了微软提供的数据库Northwind。此数据库包含的数据表如图4.16所示。,4.2第一个连接数据库的网页,已经安装好了SQLServer2005,然后也准备好了数据库Northwind,本节就介绍,如何通过ADO.NET提供的组件,实现程序和数据库的关联。,4.2.1建立数据连接,要建立数据连接有很多方法,可以通过可视化向导来添加连接,也可以直接通过web.config配置来添加数据库连接。本节就介绍这两种主要的方法。1通过可视化向导来添加连接2通过web.config配置来添加数据库连接,4.2.2添加GridView控件,添加好数据连接后,本节通过一个常用的数据控件GridView,来获取并显示数据库中的数据。还将深入GridView控件,学习通过此控件实现数据的编辑功能(如删除、修改等)。GridView控件是以表格的形式显示数据,其可以对数据进行排序、选择、编辑和删除等功能。GridView还提供丰富的事件模型,可以在多种情况下,对显示出的表格进行处理。同时该控件还支持绑定列控件,可以通过数据的模板列,完成更复杂的功能。本例演示如何用GridView显示数据库中Categories表中的数据。,4.2.3代码分析,上一小节用GridView完成了读取数据的功能,现在来分析通过向导自动生成的一些代码。打开Default.aspx的源代码界面,找到“”控件,其代码如下所示。,4.3ADO.NET框架与.NET框架,要掌握好ADO.NET框架,需要先学习这个框架能做什么,其在.NET框架中占据什么位置,本节通过两个图例介绍ADO.NET框架。然后再学习如何连接和断开数据库。掌握好ADO.NET的操作,先明白它在.NET中占据什么位置,微软给出了一个.NET的系统结构图,如图4.27所示。,4.4连接方式(ConnectedClass),ADO.NET提供了一些方法,通过这些方法获取数据。每个方法操作步骤不同,但获取结果可以相同,具体使用哪种方式,要根据项目条件允许和服务器的速度要求等。本节都是介绍最通用的方法。,4.4.1用Connection类连接数据库,当一个系统添加完数据库连接后,如果应用程序需要使用这个连接,并从数据库中获取数据,那就需要通过ADO.NET提供的连接方式,创建应用程序与数据库之间的对话,创建对话后,才可以正常读取数据。这个对话就是通过Connection类创建的连接。Connection类是一个连接类的统称,针对不同的数据库,ADO.NET又提供了不同的子类连接类,如支持SQLServer数据库的连接类是SqlConnection,其继承自Connection类。本节就演示如何通过这个类,创建与数据库的对话。要知道SqlConnection类能干什么,先通过表4.1来学习这个类的一些重要方法和属性。,4.4.2用Command类执行命令,Command类也是一个命令的基类,其中用于执行SQL命令的类是SqlCommand,其继承自Command类。SqlCommand对象主要用来执行数据库执行命令,所以其包括很多执行的方法,还有一些与数据库相关的属性。表4.2列出了SqlCommand常用的方法和属性。,4.4.3用DataReader类读取数据,上一小节学习了一个方法ExecuteReader,它返回的是一个只读数据集。只读数据集并不是一个任意的变量,不是字符型,也不是数值型。那如何定义这种返回类型呢,ADO.NET提供了DataReader类,关于SQLServer数据库操作的是SqlDataReader类,其继承自DataReader类。SqlDataReader类包含的是数据集,也就是可能好多条记录,当然也可能一条记录。要读取每条记录的信息,或者读取每条记录中某个字段的信息,就需要用到SqlDataReader类提供的一些属性和方法,表4.3列出了这些常用的属性和方法。,4.4.4如何给Command对象添加参数对象(Parameter),参数就是变量在数据库操作中的一种替代品。如姓名变量在程序中名字为name,那么我们就需要给Command对象添加一个参数对象,用来承载name变量的内容。这样才可以在数据库中操作。针对SQLServer数据库操作的参数是SqlParameter,其继承自Parameter类。一个SqlParameter表示一个参数,默认情况下是input参数,表示是输入的参数,就是从程序中读取的参数,输出参数表示从数据库中读取出来的参数。具体是输入还是输出参数,需要通过SqlParameter的属性Direction属性来表示。参数类型主要有3种:Input、InputOutput和ReturnValue。以下应用程序代码演示了如何创建这3种类型的参数。,4.4.5DataAdapter类的桥梁作用,DataAdapter在ADO.NET中被称为适配器,有关SQLServer方面的操作依然是SqlDataAdapter类,其继承自DataAdapter类。适配器表示一组SQL命令和一个数据库连接,它们用于填充DataSet数据集和更新数据源。DataAdapter用作DataSet数据集和数据源之间的桥接器(所以被称为数据桥梁),以方便数据的检索和保存。DataAdapter通过映射Fill和Update两个方法来提供这一桥接器。下面通过一个案例来介绍DataAdapter类的这种桥梁作用,主要功能就是通过它的Fill对象填充数据集,然后通过它的Update方法更新数据。读者可以考虑这种方法的简便性。,4.5应用断开连接类(DisconnectedClass),有些操作必须在数据库连接的时候才可以使用,但为了节省服务器资源,ADO.NET也提供了一些类,这些类可以在断开数据库连接的情况下使用,如DataSet。本节就介绍这些在断开连接时仍然可以使用的类。,4.5.1数据集类(DataSet)介绍,在应用程序中,DataSet可以看作是数据库的一个本地对象,应用程序通过数据适配器DataAdapter与DataSet进行数据交换,然后DataSet本身再与数据库进行数据操作。本节学习两种创建DataSet的方法:一种用向导方式来创建,不写任何代码;一种直接在代码中创建,可以在程序运行时,动态创建DataSet。1用向导方式创建DataSet2用代码方式创建DataSet,4.5.2数据集类(DataTable)介绍,DataTable一般表示一个数据表(包括行和列的正规数据表),其是DataSet组织结构的一部分。表4.4列出来了DataTable常用的方法或属性。,4.6使用事务(Transaction),事务是一个整体操作,其封装了多个操作,一个执行不成功,则其他的所有操作都不成功。在VS2008用于事务处理的类,存在于命名空间System.Data.SqlClient中,类名称为SqlTransaction,其继承自Transaction类,表示要在SQLServer数据库中处理的Transact-SQL事务。SqlTransaction的主要属性是Connection,获取与改事务关联的数据库连接。主要方法有:Commit:用来提交数据库事务。RollBack:从挂起状态回滚事务。程序通过在SqlConnection对象上调用BeginTransaction方法,创建一个事务对象。然后通过事务的那两个方法执行或中断事务。为了捕获在提交过程中发生的错误,在事务处理中一般使用try/catch语句。现在再来看一个简单的示例:用户取款操作。,4.7小结,因为所有的数据资源几乎都保存在数据库中,ASP.NET提供了AD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论