基于ADO.NET技术访问SQL Server数据库的编程实现 下载本文

内容发布更新时间 : 2024/5/9 18:21:37星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

基于ADO.NET技术访问SQL Server数据库的编程实现

作者:江凌 杨平利 杨梅 袁媛

来源:《现代电子技术》2014年第08期

摘要: SQL Server 是当前较为常用的数据库管理系统之一,具有速度快、功能强、易使用等特点,它主要解决数据的存储与管理问题。为了更好地实现对SQL Server数据库的访问,提出了新的数据库访问技术即ADO.NET。在此介绍了ADO.NET的核心组件和体系结构,阐述了利用ADO.NET访问数据库的2种不同方式,结合实例展示了利用ADO.NET访问SQL Server 2005的基本过程,并给出了关键代码,实现了对数据的有效管理。 关键词: ADO.NET; 数据库访问; SQL Server; 数据库管理

中图分类号: TN911?34; TP311文献标识码: A文章编号: 1004?373X(2014)08?0095?04

Programming of accessing SQL Server database based on ADO.NET JIANG Ling, YANG Ping?li, Yang Mei, YUAN Yuan

(Northwest Institute of Nuclear Technology, Xi’an 710024, China)

Abstract:Being one of the most commonly?used database management systems, SQL Server has the characteristics of high speed, strong function and easy to use, and can solve the problems of data storage and management. In order to achieve a better way for accessing SQL Server, ADO.NET called as a new database access technology is proposed. The core components and the architecture of ADO.NET are simply introduced. Two different modes to access database using ADO.NET are explained. The basic process of using ADO.NET to access SQL Server is presented with an instance and the key codes are also given. The goal to efficiently manage data was achieved. Keywords: ADO.NET; database access; SQL Server; database management 0引言

数据库技术是计算机科学技术中发展最快的领域之一,也是应用最广泛的技术之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。目前,数据库系统已经广泛应用于各个领域,例如管理信息系统、办公自动化系统、图书情报检索系统等。数据库系统的特点主要有以下几个方面[1]:

龙源期刊网 http://www.qikan.com.cn

(1) 数据结构化。数据的共享性高,冗余度低,易扩充;

(2) 数据独立性高。数据由数据库管理系统(DBMS)统一管理和控制。

随着应用程序的发展演变,越来越多的应用程序需要通过网络传递数据。Microsoft结合.NET框架为数据访问提供全新的编程模型——ADO.NET。通过ADO.NET不仅能够使应用程序链接到数据源,检索、操纵和更新数据,而且能够实现对非关系数据库的访问。本文主要介绍在Visual C#.NET中如何利用ADO.NET进行数据访问,在数据库的选用上,采用了微软公司的SQL Server 2005。 1ADO.NET的体系结构

ADO.NET是.NET Framework提供给.NET开发人员的一组类,以目前业界认可与广泛使用的XML为基础,提供一致的方法来访问各种数据源和完善的数据访问服务,包括Microsoft SQL Server数据库、ODBC、OLE DB数据源、Oracle数据源以及XML等[2]。

ADO.NET是一种全新的、强大的数据库访问技术[3]。它可将系统前端的用户界面和后台数据库联系起来,应用程序可以通过ADO.NET来链接各种数据源,检索、插入、修改和删除数据源中的数据以及以快速、只读、只进的方式访问数据[4]。用户和系统之间一次典型的交互过程如图1所示。

与传统的访问Web数据库的方法相比较,ADO.NET数据访问技术具有2个突出的优点:一是紧密集成XML作为数据传输标准,使得ADO.NET能够更加灵活地访问各种不同类型的数据;二是采用中断式访问模式,应用程序只是在需要访问或者更新数据时才会链接到数据库,一旦完成后就立即断开,完成此任务的就是ADO.NET的2个核心组件。

图1 ADO.NET的数据访问过程

ADO.NET提供2个核心组件:.NET Framework数据提供程序和DataSet[5]。ADO.NET的体系结构如图2所示。.NET Framework数据提供程序用于链接数据源、执行SQL命令以及检索数据,检索到的数据既可以直接处理,也可以放入DataSet对象中。.NET Framework数据提供程序通过在DataAdapter对象和DataSet之间建立联系,使DataSet对象可以获取来自多个数据源的数据。数据集DataSet是一个与数据源无关的内存数据表示方法,用于高速缓存关系型数据。它像是一个简化的关系数据库,可以包含数据表、数据列和数据行,以及表与表之间的关系,并且完全是在脱机模式下进行操作。

图2 ADO.NET的体系结构

龙源期刊网 http://www.qikan.com.cn

1.1NET Framework数据提供程序

.NET Framework数据提供程序包括Connection对象、Command对象、DataReader对象和DataAdapter对象。

(1) Connection对象:Connection管理与SQL Server数据库的链接,用于链接Microsoft SQL Server 7.0版或以上版本。Connection对象是通过ConnectionString属性的设置来链接数据库。

(2) Command对象:在ADO.NET中,一般使用Command对象来执行SQL命令并从数据源中返回结果。

(3) DataReader对象:用于从数据源中获取只读的、单项的数据流。

(4) DataAdapter对象:是DataSet和数据源之间的桥梁,它可以隐藏和Connection对象、Command对象沟通的细节,完成DataSet和数据源之间的数据交换。 1.2DataSet组件

(1) DataSet包含Tables(表)集合和Relations(关系)集合。Tables集合由DataTable对象组成,而Relations集合由DataRelation对象组成。

(2) 在DataSet的Tables集合中,每个DataTable对象又包含Rows(行)集合、Columns(列集合)集合、ChildRelations(子关系)集合和ParentRelations(父关系)集合。 因为DataSet的结构和关系型数据库类似,所以可以像访问关系型数据库那样访问DataSet。可以在DataSet内添加、删除表,在表中使用Select方法查看数据、使用Delete方法删除数据等。同时,DataSet可以看作由集合组成,因此还可以以集合的方法访问DataSet中的数据。另外,DataSet还能够完全看作XML格式的数据,对DataSet可以按照XML数据的形式进行访问。

对于不同的应用需要ADO.NET提供了2种模式来访问数据源中的数据:使用DataReader对象进行基于链接的访问和使用DataAdapter对象进行非链接的访问[6]。下面对2种访问模式进行分析和比较。

1.3基于链接的访问模式

基于链接的访问模式会占用一个数据库链接,然后读取数据。它是通过DataReader对象来实现的,DataReader对象在已经建立的数据链接的基础上,提供对数据源的单向的、只读的数据流。由于DataReader可以顺序地处理从数据源返回的结果,而且不在内存中缓存,因此DataReader适合从数据源中检索大量的、不需要进行更新操作的数据。