基于的ADO.NET数据库访问技术研究

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:wang3398218
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:ADO.NET是微软针对ADO的缺陷而重新设计的一种全新的数据库访问技术。阐述了ADO.NET的结构与数据模型:数据提供程序和数据集。探讨了利用ADO.NET技术访问数据库访问的方式,同时给出了采用C#语言所实现的ADO.NET数据库访问技术在数据库中编程中的具体实现方案。
  关键词:C#语言;ADO.NET;数据库访问
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)18-2pppp-0c
  
  Research on Database Accessing Technology Based on ADO.NET
  LIU Ying
  (South-central University For Nationalities College of Business,Wuhan 430000,China)
  Abstract:This thesis introduces the data accessing technology based on ADO.NET,illuminates the structure ande the data model of ADO.NET:data provider and data set.It described the way of the database access in using ADO.NET technology.Then the solution with C# language has been presented to use the ADO.NET database accessing technology in database programming.
  Key words:c# language;ADO.NET;Database Accessing
  
  1 引言
  
  ActiveX Data Objects.NET(简称ADO.NET)是Microsoft公司设计的一种新的数据访问技术。在.NET中,数据存取的任务都是通过ADO.NET完成。同以往的数据库访问技术相比,ADO.NET有很多数据处理的优势。ADO.NET是为关系数据访问和非关系数据访问设计的数据连接模型,它可以实现对数据源的非连接处理;另外ADO.NET新增了一些对象,如DataReader类可以产生一个只读的记录集,用来实现对快速读取数据。
  
  2 ADO.NET的数据模型
  
  ADO.NET有两个核心组件:数据提供程序和数据集。
  数据提供程序(data provider)连接数据源,支持数据访问和处理。数据集(data set)支持数据以关联的方式,在断开连接的情况下独立地缓存数据,根据需要更新数据源。
  2.1 数据提供程序
  ADO.NET中的数据提供程序主要有两种:SQL SERVER数据提供程序和OLE DB数据提供程序
  每个数据提供程序都是System.Data命名空间中的一个接口实现方式,专门用于特定的数据源。如SQL SERVER数据提供方式属于System.Data.SqlClient,支持SQL SERVER 7或更新版本。而OLE DB数据提供程序属于System.Data.OleDb命名空间,支持对SQL SERVER旧版本和其他数据库(Access、DB2、MySQL和Oracle)的访问。
  以SQL SERVER数据提供程序为例,其中包含了3个主要的组件。
  2.1.1 数据提供程序的连接类
  SQL SERVER数据提供程序的连接类是SqlConnection,实现了System.Data.IDbConnection接口,用于实现与数据源的连接。
  要与一个SQL SERVER数据库建立连接,首先引入命名空间:
  using System.Data;
  using System.Data.SqlClient;
  然后创建连接字符串。连接字符串主要用于指定连接信息的参数,通常包括目标SQL SERVER实例名称,指定身份验证模式,数据库名等。
  string constring=@”server=(local)\sqlexpress;
  integrated security=sspi;
  database=northwind;”
  最后创建连接,也就是SqlConnnection对象,同时将连接字符串作为参数传递给它
  SqlConnection con=new SqlConnection(constring);
  打开连接:
  con.Open();
  2.1.2Command对象
  连接了数据库以后,可以通过Command对象执行sql命令或是存储过程来完成对数据库的一些操作。
  首先创建命令字符串:
  string sql=@”select count(*)from employees”;
  然后创建Command对象:
  SqlCommand cmd=new SqlCommand(sql,con);
  其中sql作为参数将传递给cmd.CommandText属性,这个属性用来保存要执行的sql语句;con作为参数传递给cmd.Connection属性,其作用是将命令与数据库的连接关联起来。
  最后执行命令:执行命令的方法有四种。方法的区别取决于sql代码的结果。执行命令的方法如下表所示:
  表1 执行命令的方法
  
  以刚建立的cmd命令为例:
  cmd.ExecuteScalar();
  2.1.3 数据读取器
  数据读取器是实现了System.Data.IDataReader接口的对象。数据读取器用来读取查询的结果集。它是快速的、未缓存的、只向前移动的、只读的、已连接数据源的、逐行检索数据的数据流。数据读取器适用于只想读取和显示数据的时候。
  首先实例化数据读取器:
  SqlDataReader rd=cmd.ExecuteReader();
  这里需要注意的是,由于SqlDataReader是抽象类,不能显示的实例化,必须执行SqlCommand的ExecuteReader()方法来获得SqlDataReader的实例。
  接着,调用SqlDataReader的Read()方法来遍历返回结果集的每一行。在Read()方法中,如果存在下一行就返回true,并向前移动游标;如果没有下一行,就返回false。由于Read把游标移动到下一个记录,所以每次都必须手工调用这个方法。一般使用while循环来完成操作:
  while(rd.Read())
  然后访问数据:
  在调用了Read()方法后,下一行就以集合的形式返回,存储在SqlDataReader对象中。如果要访问某一列的数据,可以使用许多方法。如果使用序数索引器方法(就像提供整数数组的索引一样),就给数据读取器提供列号以检索值:
  Console.WriteLine(“{0}{1}”,rd[0],rd[1]);
  也可以使用列名索引器,把列名传递给数据读取器:
  Console.WriteLine(“{0}{1}”,rd[“EmployeeId”],rd[“LastName”])
其他文献
摘要:随着计算机网络的普及,网络教学愈来愈受到教育者的重视。该文主要讨论计算机导论课程的网络教学平台的设计,详细分析该系统的系统结构和功能,论述系统中主要功能模块的实现。  关键词:网络教学;B/S模式;学习系统;练习与测试;演示动画  中图分类号:TP315文献标识码:A文章编号:1009-3044(2008)33-1433-02  Design and Realization of Netwo
摘要:在Intel未来教育的先进理念的指引下,从基于局域网的网络课件的特征与内涵出发,以建构主义与“双主模式”教学理论为指导,利用局域网与互联网的优势,介绍设计开发新型网络课件的方法,并结合实际教学过程中的具体例子,提出相应的解决策略。  关键词:Intel未来教育;双主模式;网络课件   中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)32-1267-02  Netw
摘要:本文在对Java多线程分析的基础上,针对如何实现多线程,如何进行同步,如何管理多线程等问题进行了简单的阐述。  关键词:线程;多线程;线程组  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)19-30181-03  Analyse Shallowly Java Multi-threading Mechanism  WANG Jun-yu, WANG Xian-h
摘要:无线传感器网络是由部署在监测区域内大量的廉价微型传感器结点组成,具有传感器节点密度高,网络拓扑变化频繁,以及节点的功率、计算能力和数据存储能力有限等特点。该文介绍了ZigBee网络与GSM/GPRS网络相结合实现远程监测的无线传感器网络的软件与硬件总体设计方法。  关键词:传感器网络;数据融合;网络协调器  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)33-1
摘要:通过理论有与实例的比较,对目前比较流行的两种面向对象的编程语言C 与Java从7个方面作一比较,希望为程序的设计与教学提供帮助与选择。  关键词:C ;JAVA;程序设计;编程语言  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)21-30453-02    Comparison of the Object-oriented Procedure Count
摘要:XML能够使用得Internet上的数据交换变得更方便,XML与数据库一样,都能够作为信息存储的途径。当数据量不大的时候,比如完成一个在线备忘录,XML作为数据存储具有关系数据库所无法比拟的优势。在asp.net中能够利用.net类库提供的类及方法轻松地构建一个基于XML的在线备忘录。  关键词:XML;数据库;数据存储;asp.net;在线备忘录  中图分类号:TP311文献标识码:A文章
一、导入  屏显第一幅图片。  生:含羞草。  师:有点像。柔柔弱弱的。但不是,这是紫茎泽兰。再来看看来自海底世界的动物(屏显第二幅图片)。  生:水母。  (师肯定并表扬,再明确,这是“冠状水母”。再呈现学生熟悉的小龙虾图片)  师:这三位朋友,有一个共同的名字,叫“生物入侵者”。打开书本,我们先看第一段文字,找到生物入侵者的概念。  二、从概念入手了解生物入侵者的危害  (屏显生物入侵者的概念
习作教学一直是小学语文教学的难点,尤其是统编教材全面投入使用后,面对新的教学内容,很多教师感到不适应。对此,我们在学习借鉴当前作文教学模式的基础上,结合语文学科特点和教学实际,提出了“四步循环”习作教学模式。  “四步循环”习作教学模式继承了传统作文教学模式的优点,把学生学习方式的优化、教师教学方式的改进、教师关注学生长远发展的评价作为重点,优化了课堂教学结构,体现了新课程强调的“自主、合作、探究
摘要:通过分析各种入侵检测系统的特点,提出了一种基于移动Agent和主从数据库模式的分布式入侵检测系统的模型MADIDS,实现了基于该模型的分布式入侵检测系统,该模型中的Agent相互独立、互相协作,并有效的对数据库进行层次划分,提高了系统的效率、健壮性、可扩展性和可靠性。  关键词:入侵检测;移动Agent;MYSQL  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008
摘要:传统的《C程序设计》教学方法存在很多不足,提出一种新的基于案例的教学方法。该方法采用“案例-理论和概念”的教学模式,具有突出实践性,体现真实性,实现互动性,发挥学生主体性等显著特点。案例设计是该方法的前提和基础,指出了设计案例时需注意的问题,并结合实例进行了说明。案例教学可极大提高学生学习的兴趣,增强学生在课堂上的参与感,改变原来课堂“满堂灌”现象,从而提高教学质量。  关键词:C程序设计;