ADO.NET 之核心组成对象

2024-08-27 20:58
文章标签 对象 核心 net 组成 ado

本文主要是介绍ADO.NET 之核心组成对象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    引言:在当今数据信息丰富的时代,计算机领域中使用数据库来存储信息和访问信息,但是本身数据库种类有很多,例如SQL Server,Oracle,Access,MySql等,因此,如何能更加高效、更加方便地使用一种统一的数据访问编程模型来对不同的数据库的数据进行操作,此时,强大MS就为广大的开发者提供了基于.NET平台的数据访问编程模型ADO.NET。

    1、学习背景: 在敲机房收费系统的时候,我们用到了SQLHelper,对于刚开始接触SQLhelper的我来说,不知道这是什么东东,只是听说它是个自己编写的一个类,一个提供对数据库访问的类,对于其它的,我就全然不知了。

    2、刨根问底儿:学习SqlHelper,慢慢的我发现我又好多不懂的地方,在网上查找资料,问同学,最终我找到SqlHelper祖坟上来了——ADO.NET。

    3、ADO.NET在MSDN上的定义:ADO.NET 是一组向 .NET Framework 程序员公开数据访问服务的类。ADO.NET 类位于 System.Data.dll 中,并与 System.Xml.dll 中的 XML 类集成。ADO.NET 提供对诸如 SQL Server 和 XML 这样的数据源以及通过 OLE DB 和 ODBC 公开的数据源的一致访问。共享数据的使用方应用程序可以使用 ADO.NET 连接到这些数据源,并可以检索、处理和更新其中包含的数据。

    从一方面来对ADO.NET 来解释的话,他就是一个类库,一个封装了对数据库操作的类库(增、删、改、查)。我们在写SQLHelper类的同时,需要引用其中的类,然后实例化它再使用。

   大家都知道,要想对数据库进行操作,必须先连上数据库,然后才能对数据库进行操作。那么,我们通过ADO.NET怎样才能连接上数据库然后对其操作的哪?这就需要.NET最核心的组成部分了,一个是负责处理软件内部的实际数据(DataSet),一组负责与外部数据系统通信(Data Provider)。具体架构如下图所示:



    3.1、DateSet

    DataSet 是 ADO.NET 的非连接(断开)结构的核心组件。DataSet 的设计目的很明确:为了实现独立于任何数据源的数据访问。因此,ADO.NET结构可以用于多种不同的数据源,用于 XML 数据,或用于管理应用程序本地的数据。DataSet 包含一个或多个 DataTable 对象的集合,这些对象由数据行和数据列以及主键、外键、约束和有关 DataTable 对象中数据的关系信息组成。

    个人理解,我们在数据库中查出来的信息就放在dateset中。dateset可以包含许多datatable。

    3.2、Data Provider

    3.21、Connection 对象:提供与数据源的连接。
    3.22、Command对象:用于访问数据、返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命

    令。

    3.23、DataReader 对象:从数据源中提供快速的,只读的数据流。
    3.24:、DataAdapter 对象提供连接 DataSet 对象和数据源的桥梁。DataAdapter 使用 Command 对象在数据源中执行 SQL 命令,以便将数据加载到 DataSet 中,并使对DataSet 中数据的更改与数据源保持一致。

    有了这几个对象,我们就可以利用它们操作数据库了,这些对象好比看守数据库的几个人,我们将他们买通了(声明并实例化),就可以对数据库中的数据进行操作了。至于对这几个对象的详细解释,请看我的下一篇博客。

这篇关于ADO.NET 之核心组成对象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1112763

相关文章

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr

C#利用Free Spire.XLS for .NET复制Excel工作表

《C#利用FreeSpire.XLSfor.NET复制Excel工作表》在日常的.NET开发中,我们经常需要操作Excel文件,本文将详细介绍C#如何使用FreeSpire.XLSfor.NET... 目录1. 环境准备2. 核心功能3. android示例代码3.1 在同一工作簿内复制工作表3.2 在不同

使用MapStruct实现Java对象映射的示例代码

《使用MapStruct实现Java对象映射的示例代码》本文主要介绍了使用MapStruct实现Java对象映射的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、什么是 MapStruct?二、实战演练:三步集成 MapStruct第一步:添加 Mave

Python异常处理之避免try-except滥用的3个核心原则

《Python异常处理之避免try-except滥用的3个核心原则》在Python开发中,异常处理是保证程序健壮性的关键机制,本文结合真实案例与Python核心机制,提炼出避免异常滥用的三大原则,有需... 目录一、精准打击:只捕获可预见的异常类型1.1 通用异常捕获的陷阱1.2 精准捕获的实践方案1.3

深入浅出Java中的Happens-Before核心规则

《深入浅出Java中的Happens-Before核心规则》本文解析Java内存模型中的Happens-Before原则,解释其定义、核心规则及实际应用,帮助理解多线程可见性与有序性问题,掌握并发编程... 目录前言一、Happens-Before是什么?为什么需要它?1.1 从一个问题说起1.2 Haht

Java中实现对象的拷贝案例讲解

《Java中实现对象的拷贝案例讲解》Java对象拷贝分为浅拷贝(复制值及引用地址)和深拷贝(递归复制所有引用对象),常用方法包括Object.clone()、序列化及JSON转换,需处理循环引用问题,... 目录对象的拷贝简介浅拷贝和深拷贝浅拷贝深拷贝深拷贝和循环引用总结对象的拷贝简介对象的拷贝,把一个

在.NET项目中嵌入Python代码的实践指南

《在.NET项目中嵌入Python代码的实践指南》在现代开发中,.NET与Python的协作需求日益增长,从机器学习模型集成到科学计算,从脚本自动化到数据分析,然而,传统的解决方案(如HTTPAPI或... 目录一、CSnakes vs python.NET:为何选择 CSnakes?二、环境准备:从 Py

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

Python进阶之列表推导式的10个核心技巧

《Python进阶之列表推导式的10个核心技巧》在Python编程中,列表推导式(ListComprehension)是提升代码效率的瑞士军刀,本文将通过真实场景案例,揭示列表推导式的进阶用法,希望对... 目录一、基础语法重构:理解推导式的底层逻辑二、嵌套循环:破解多维数据处理难题三、条件表达式:实现分支