首页 > 知识点讲解
       ADO.NET数据库访问技术
知识路径: > 电子商务系统程序设计基础 > 电子商务系统建设 > B/S结构程序设计 > 
被考次数:3次     被考频率:中频率     总体答错率:45%     知识难度系数:     
相关知识点:72个      
        ADO.NET(ActiveX Data Objects.NET)是ASP.NET与数据库的接口,是.NET操作数据库对象的集合。它能够让开发人员更加方便的在应用程序中使用和操作数据。在ADO.NET中,大量的复杂的数据操作的代码被封装起来,当开发人员只需要编写少量的代码即可处理复杂的操作。
               ADO.NET的作用与组成
               ADO.NET是ASP.NET与数据库的接口,其访问数据源的方式如下图所示。
               
               ADO.NET访问数据库方式
               ADO.NET是通过.NET数据库提供程序来访问数据源的。其中:SQL Server.NET数据提供程序用于访问Microsoft SQL Server 7.0或更高版本的数据库,可提供很高的访问效率。OLE DB.NET数据提供程序则用于访问Access、SQL Server 4.5更低版本、DB2、Oracle或其他支持OLE DB驱动程序的数据库。.NET数据提供程序类型如下表所示。
               
               .NET数据提供程序类型
               ADO.NET操作数据库是通过连接数据源、执行数据操作、将数据结果显示在应用程序中等过程完成的,其结构如下图所示。
               
               ADO.NET操作数据库结构图
               ADO.NET的常用对象有连接对象Connection、执行命令对象Command等,各对象及含义如下表所示。
               
               ADO.NET的对象内容
               对于复杂的数据库应用系统而言,经常将数据从数据库服务器中取出,放入本地内存数据库,即DataSet中,若需将数据显示在页面中,则应使用DataView,数据流程如下图所示。
               
               ADO.NET数据流程
               ADO.NET使用过程
               在ADO.NET中对数据库的操作一般需要三个步骤,即创建一个连接、执行命令、关闭连接。使用ADO.NET的对象,不仅能够通过控件绑定数据源,也可以通过程序实现数据源的访问。ADO.NET的规范步骤如下:
               .创建一个连接对象。
               .使用连接对象的Open方法打开连接。
               .创建一个封装SQL命令的对象。
               .调用执行命令的对象。
               .关闭连接。
               连接SQL数据库
               ADO.NET通过Connection对象连接数据库,Connection对象是数据库与应用程序之间的桥梁。
                      建立连接
                      操作不同的数据库需要不同的对象,在本教材中,主要以SQL Server数据库为例讲解ADO.NET的使用。在数据库的连接中,需要使用.NET提供的SqlConnection对象来对数据库进行连接。该对象包含的主要属性和方法如下表所示。
                      
                      SqlConnection对象主要属性和方法
                      使用SqlConnection对象连接数据库步骤为:
                      (1)定义连接字符串。
                      在连接数据库前,需要为连接对象设置连接字符串,连接字串基本格式为:
                      
                      SqlConnection类将会通过此字符串来进行数据库的连接。其中,Data Source是SQL服务器的地址,如果相对于应用程序而言数据库服务器是本地服务器,则配置为(local)即可,如果是远程服务器,则需要填写具体的ip地址;Initial Catalog表示需要访问的数据库名;另外,User ID是数据库登录时的用户名,PWD是数据库登录时使用的密码。
                      (2)创建SqlConnection对象。
                      创建SqlConnection对象语句如下:
                      
                      创建SqlConnection对象时,构造方法中的参数connString就是第一步定义的连接字符串。
                      (3)打开数据库连接。
                      打开数据库连接程序如下:
                      
                      .NET对于不同类型数据库提供不同的程序,连接对象对于不同的数据库也有不同的类型,如下表所示。
                      
                      不同类型的连接对象
               DataSet数据集
               如果在操作数据库时,需要大批量的查询、修改数据或者想在断开数据库连接的情况下操作数据,.NET提供了一种方式,可以一次性将数据从数据库服务器中取出,放在本地进行操作,而不用一直保持数据库连接。实现这种机制的是DataAdapter对象和DataSet对象,DataAdapter对象用于从数据库中采集数据,而DataSet是将采集到的数据保存在本地计算机内存中。
               DataSet数据集表示来自一个或多个数据源数据的本地副本,是数据的集合,也可以看作是一个虚拟的数据库。DataSet中可以包含多个DataTable,DataTable的结构与数据库中表的结构相同,也是由若干行和若干列构成的,DataSet能够支持多表、表间关系、数据库约束等,可以模拟一个简单的数据库模型。DataSet的结构如下图所示。
               
               DataSet的结构图
               在DataSet中,主要包括DataTableCollection,DataTable在System.Data中定义,它能够表示存储在内存中的一张表,表包含一个DataColumnCollection的对象,代表数据表的各个列的定义,还包含DataRowCollection对象,代表数据表中的所有的行。
               DataSet对象允许应用程序半独立于数据源运行,因为DataSet从数据源中采集数据后,就会断开与数据源的连接,开发人员可以直接使用和处理这些数据,当数据发生变化并要更新时,则可以使用DataAdapter重新连接并更新数据源。DataAdapter的工作原理如下图所示。
               
               DataAdapter的工作原理
               创建一个DataSet时,可以指定一个数据集的名称,如果不指定名称,则默认被设为"NewDataSet",创建DataSet格式如下:
               
               DataAdapter适配器对象
               DataSet是一个本地数据集,如何将数据库的数据放在DataSet中,.NET中使用Data Adapter对象完成这个任务。DataAdapter对象是数据采集器,可以将数据库中的数据采集后,填充到DataSet中,是数据库与DataSet之间的桥梁。微软针对于不同的数据库提供多种DataAdapter对象,如下表所示。
               
               不同命名空间的DataAdapter对象
               创建SqlDataAdapter对象的过程如下:
               ①创建SqlConnection连接对象;
               ②定义查询SQL语句字符串;
               ③创建SqlDataAdapter对象,形式为:
               
               通过DataAdapter对象的Fill方法,可以将返回的数据以表的形式填充到数据集DataSet中,根据填充的顺序定义每张表的索引,也可以在填充的时候给表命名,例如:
               
               当返回的数据被存放到数据集中后,可以通过循环语句遍历和显示数据集中的信息。当需要显示表中某一行某一字段的值时,可以通过DataSet对象获取相应行的某一列的值,例如:
               
               当需要遍历DataSet时,可以使用DataSet对象中的Count来获取行数,例如:
               
               DataSet不仅可以通过编程的方法来实现显示,也可以使用ASP.NET中提供的控件来绑定数据集并显示。ASP.NET中提供了常用的显示DataSet数据集的控件,包括Repeater、DataList、GridView等数据绑定控件。将DataSet数据集绑定到GridView控件中可以方便地在控件中显示数据库中的数据并实现分页操作,例如:
               
               上述代码就能够将数据集ds中的Table[0]中的数据绑定到GridView控件中。
               DataView数据视图对象
               使用DataView对象可以按照不同的视图显示DataSet中的数据。DataSet中的每一个DataTable都有一个默认的DataView,在例9-6中,绑定显示数据的程序语句:
               
               等价于:
               
               也可以自定义DataView对象,该对象能够设置RowFilter属性(筛选表达式,其值为布尔值)。同时,该对象能够设置Sort属性进行排序,排序表达式可以包括列名或一个算式。
               Command执行对象
               Command对象可以使用数据命令直接与数据源进行通信。通常情况下,Command对象用于数据的操作,例如执行数据的插入和删除,也可以执行数据库结构的更改。使用Command步骤如下:
               ①创建数据库连接;
               ②定义SQL语句;
               ③创建Command对象;
               ④执行命令。
               Command对象的主要属性如下表所示。
               
               Command对象的主要属性
               Command对象的主要方法如下表所示。
               
               Command对象的主要方法
               ExecuteNonQuery方法
               当Command对象指定了一个数据库的数据进行增删改的SQL语句,就可以通过Execute NonQuery方法来执行语句的操作。ExecuteNonQuery不仅可以执行SQL语句,也可以执行存储过程,该方法返回受影响记录的行数。
               DataReader数据访问对象
               DataSet可以提供无连接的数据库副本,DataSet对象在表的生命周期内会为这些表进行内存的分配和维护,但DataSet占用却消耗了较大的本地内存资源。当对数据仅需要进行一些简单的操作时,可以使用DataReader对象。
               DataReader对象可以产生只读,只进的数据流,这些数据流都是从数据库返回的。所以,每次的访问或操作只有一个记录保存在服务器的内存中。相比DataSet而言,DataReader具有较快的访问能力,并且能够使用较少的服务器资源,DataReader具有快速的数据库访问。.NET针对不同类型数据库提供了多种DataReader对象,如下表所示。
               
               各种DataReader对象
               DataReader对象常用属性为HasRows,表示是否存在记录行。
               DataReader对象的常用方法如下表所示。
               
               DataReader对象的常用方法
               使用DataReader检索数据的步骤:
               ①创建和打开数据库连接;
               ②创建Command对象;
               ③调用Command对象的ExecuteReader()方法创建DataReader对象;
               ④使用DataReader的Read()方法逐行读取数据;
               ⑤读取某列的数据,(type)dataReader[],中括号内可以使索引,也可以是列名;
               ⑥关闭DataReader对象。
 
 相关知识点:
Application状态对象
ListBox控件
WebApp开发
RequiredFieldValidator控件
Application对象常用的事件
表单视图控件(FormView)
日历控件(Calender)
DropDownList控件
ASP.NET
Cookie对象的属性
Cookie对象的方法
ASP.NET的内置对象
标准服务器控件
Server对象的常用属性
PHP(Hypertext Preprocessor)
Label控件
Button控件
创建ASP.NET应用程序
GridView控件绑定数据
Page对象的主要用途。
RadioButton控件和RadioButtonLi..
Application对象常用的方法
数据列表控件(DataList)
CheckBox控件和CheckBoxList控件..
Cookie状态对象
Application对象常用的属性
Request对象常用的属性
GridView控件的常用属性
CustomValidator控件
B/S结构程序设计
Page对象的常用方法。
Page对象的常用事件。
ASP.NET页面生命周期中的事件
Session对象的方法
Response对象的常用属性
WebApp概述
验证控件
Session状态对象
网格视图控件(GridView)
Cookie对象的应用
Server对象的常用方法
Image控件
Web编程技术概述
Session对象的使用
数据绑定控件
重定向到其他网页
ASP.NET概述
Request传递请求对象
ASP.NET控件概述
TextBox控件
RegularExpressionValidator控件..
CompareValidator控件
Page对象
Response请求响应对象
详细视图控件(DetailsView)
HyperLink控件
Session对象常见属性
Response对象的常用方法
重复列表控件(Repeater)
ASP.NET的特点
Request对象有两个常用方法
JSP(JavaServer Pages)
Session对象的属性
ASP.NET页面生命周期
Page对象的常用属性。
ASP.NET控件
ASP.NET的网页代码模型
J2EE/JavaEE
RangeValidator控件
GridView控件的常用事件
ValidationSummary控件
Server服务对象
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有