ADO.NET 结构整理

这些年来工作中的开发工作主要集中在用代码处理业务层面,对数据库的操作一直是用的原来项目沿用下来的数据层。这次由于要想在项目中使用Dapper.NET,所以系统学习了下ADO.NET,并对知识点做了相应的整理。本篇近限于原始的方式,不包括后来的LINQ和实体框架。

1、ADO.NET的发展历程:

ADO.NET基本跟随着.NET Framework的版本更新,大致如下:

  1. .NET Framework 2.0 形成了现有的ADO.NET中直接访问数据源的组件。
  2. .NET Framework 3.5 新增 SqlClient 对 SQL Server 2008 的支持、 LINQ to DataSet 、 LINQ to SQL 和 Entity Framework
  3. .NET Framework 4 对Entity Framework增加了功能
  4. .NET Framework 4.5 对SQL Server 的 .NET Framework 数据提供程序新增了功能,同时发布  Entity Framework 5.0

2、ADO.NET中直接访问数据源的组件包括两个部分:

  • .NET Framework 提供的程序,其中有4个核心对象:

    1. Connection:建立与特定数据源的连接。所有 Connection 对象的基类均为 DbConnection 类。
    2. Command:对数据源执行命令。公开 Parameters,并可在 Transaction 范围内从 Connection 执行。所有 Command 对象的基类均为 DbCommand类。
    3. DataReader:从数据源中读取只进且只读的数据流。所有 DataReader 对象的基类均为 DbDataReader 类。
    4. DataAdapter:使用数据源填充 DataSet 并解决更新。所有 DataAdapter 对象的基类均为 DbDataAdapter 类。
  • DataSet,其中包括:
    1. DataTable
    2. DataRelation

这两部分的连接在DataAdapter。DataSet和DataTable用DataAdapter的Fill方法来填充。

3. 对数据库操作的方法

  1. 查询(SELECT)

    • 单个值:通过 Command 的 ExecuteScalar 方法。
    • 数据集:
      • 通过 DataAdapter 的 Fill 方法来填充DataSet或DataTable
      • 通过 Command 的 ExecuteReader 方法返回 DataReader 来检索只读数据流。
  2. 不返回任何行的操作(INSERT,UPDATE,DELETE)
    • 通过Command的 ExecuteNonQuery。该方法返回受影响行的行数。
    • DataAdapter的UpdateCommand、InsertCommand、DeleteCommand。
  3. 对数据库进行修改(CREATE TABLE、CREATE PROCEDURE、DROP TABLE等)
    • 通过 Command 的 ExecuteNonQuery 方法。

4. 对操作添加参数

  • Command:Command.Parameters.Add 方法
  • DataAdapter:DataAdapter.Paramters.Add 方法
时间: 2024-08-06 15:51:00

ADO.NET 结构整理的相关文章

Java学习不走弯路教程(14 代码结构整理)

代码结构整理 一. 前言 在前上一章教程中,介绍了和浏览器的通讯.本章将在上一章的基础上,进一步扩展程序. 注:1.本文针对初学Java的同学训练学习思路,请不要太纠结于细节问题.2.本文旨在达到抛砖引玉的效果,希望大家扩展本例子,以学到更多知识的精髓. 学习本章需要准备的知识:1.读完本系列教程的前面章节.二. 步入正题 话不多说,大家自己理解,下面步入正题: 为了在后面的课程中走的更远,我们来整理一下代码的结构. 首先我们把业务逻辑都放在app包下,并且将这个包分为三层,web,servic

ado.net知识整理

对ado.net总是半知半解,五大对象也总是混淆,近期自己做小项目练手,整理了一些知识点 ado.net的无要素(摘自其他博文) Connection 物件    Connection 对象主要是开启程序和数据库之间的连结.没有利用连结对象将数据库打开,是无法从数据库中取得数据的.这个物件在ADO.NET 的最底层,我们可以自己产生这个对象,或是由其它的对象自动产生. Command 物件    Command 对象主要可以用来对数据库发出一些指令,例如可以对数据库下达查询.新增.修改.删除数据

数据库结构整理总结

近期在做一个ERP数据库结构的梳理.该ERP系统系统有十多个子系统.本次借用powerdesigner工具进行梳理. 梳理过程: 将整体系统按照子系统和组件进行切割.当然也顺便出个组件图. 构建表关系图. 为表名和字段增加中文说明. 目标:为表字段的comment增加说明.方法:使用原有的字典表作为源,运行附件中的UpdateDescr_TableName.sql 和 UpdateDescr_ColumnName.sql.为方便各子系统分别梳理,需要调整取表的部分. 将需要的表导入powerde

从头开始学习数据库及ADO.NET——竹子整理

目前为止,学习编程一年有余,写过管理系统,写过商城,写过桌面,接触的多了,乱七八糟的点太多,一堆前段框架,后台类库,纷纷杂杂,更新迭代之快也是令人咋舌.于是我就在想,作为一名程序员,哪些内容是实打实的干货呢,互联网的内容是学习不完的,只有当你用到它时,才去学习,这是我的理解.零零散散的东西除去,越来越深的感触就是像我这种做应用的实际就是跟数据打交道,数据类型,数据量,数据的存储方式...回顾之前的学习路线,数据库这块感觉理解尚缺,于是今天开始重新回过头整理一遍数据库及ADO.以新人的姿态去学习知

ADO.NET--收藏整理别人的教程

本文所有内容均从前辈的博客中收集整理而来,仅供自己学习参考的时候快速访问用. ADO.NET入门教程(一) 初识ADO.NET ADO.NET入门教程(二)了解.NET数据提供程序 ADO.NET入门教程(三) 连接字符串,你小觑了吗? ADO.NET入门教程(四) 品味Connection对象 ADO.NET入门教程(五) 细说数据库连接池 ADO.NET入门教程(六) 谈谈Command对象与数据检索 ADO.NET入门教程(七) 谈谈Command对象高级应用 ADO.NET入门教程(八)

vue系列文章 --- 源码目录结构整理(三)

vue的版本是:^2.6.10 结构如下: |----- vue | |--- dist # 打包之后的目录vue文件 | | |--- vue.common.dev.js | | |--- vue.common.js | | |--- vue.common.prod.js | | |--- vue.esm.browser.js | | |--- vue.esm.browser.min.js | | |--- vue.esm.js | | |--- vue.js | | |--- vue.min

Android 短信模块分析(七) MMS数据库定义及结构整理

一. mmssms.db 数据库mmssms.db中表的定义见表4.1至4.18所示: 表4.1 addr(彩信地址) 字段名 类型 描述 备注 _id INTEGER PRIMARY_KEY 主键ID 系统生成 msg_id INTEGER The ID of MM whcich this Address entry belongs to. Pdu主键关联 contact_id INTEGER The ID of contact entry in Phone Book   address TE

ADO.NET(数据库访问技术)

[ADO.net结构]: ADO.NET用于访问和操作数据库的两个主要组件是:.NET Framework 数据提供程序和DataSet. a..NET Framework数据提供程序:是专门为数据操作设计的组件,用于处理不同的数据源,支持访问特定的数据库.执行SQL命令和检索结果. b..NET Framework数据提供程序包含4个核心对象:  Connection:(连接)建立与特定数据源的连接:   Command:(命令)对数据源执行命令:   DataReader:( 数据读取)从数

ADO.NET教程(一)

1. 什么是ADO.NET?  简单的讲,ADO.NET是一组允许.NET开发人员使用标准的,结构化的,甚至无连接的方式与数据交互的技术. ADO的全称是Activex Data Objects,它是早期(.NET还未实施)开发人员用来访问数据的组件.随着.NET的发展,ADO.NET顺其自然地以其显著的优越性逐步取代ADO.从技术层面讲,ADO使用OLE DB接口并基于微软的COM技术,而ADO.NET拥有自己的ADO.NET接口并且基于微软的.NET体系架构. 虽然大多数基于 .NET 的新