ADO.NET改进版
ADO.NET从概念上来说是指定义一种与数据源进行交互的面向对象类库。类库即类的集合,也就是说ADO.NET主要是提供一了一些实现与数据源进行交互的一些类和接口。
其实就我个人看来,我觉得ADO.NET更多的是定义了一套访问数据源的接口。接口的作用主要是用于指定规范,让别人去实现,自己本身并不去实现。在做机房收费系统项目的时候,我们用到的sqlconnection,sqlcommand 等只是针对SQL Sever实现接口的一些类。
ADO.NET中主要是包括以下几个对象:
下面讲解它们之间的相互关系:
1.Connection对象,是ADO.NET中最底层的对象,主要是程序和数据的连接桥梁。Connection对象有两个属性:ConnectionString,打开数据库连接字符串,和State,数据库连接状态,主要有Open和Close两种状态。
方法:open() 打开数据库连接 close()关闭数据库连接
注意:数据库是否连接是保证其他对象进行的前提
2.Command对象,主要是执行对数据进行添加,删除,修改,查询的Sql命令,也可以执行存储过程。但在执行存储过程的是,需要将Command属性设置为command.StoredProcedure.执行sql语句的时候,设置为CommandType.Text.
主要方法:ExcuteNonQuery():执行一个sql语句,返回受影响的行数,主要是用于添加,删除,修改操作,不用于查询。 ExcuteReader():执行一个sql语句,返回DataReader。
ExcuteScalar():检索单个值,主要用于统计操作。
3.DataReader对象:是一种读取行的只读方式,一般来说读取的是单条记录,一般来说性能比DataAdapter要高,但是DataAdapter返回的是多条记录,例如我们常用到的Dategridew控件绑定数据,就经常要用DataAdapter来返回一个Datatable。
4.DataAdapter对象:主要是利用Connection对象,执行Command的操作,从数据源中检索出来的数据,送往到Dataset中进行存储,主要是利用Fill()方法进行填充,Update()方法进行更新。
5.DataSet对象:包括DataTable和DataGridew对象,主要是负责管理存储在内存中的数据以及断开操作。
6.DataTable对象,是DataSet中的虚拟表,包括数据行和数据列。从数据行中可以得到指定的一条记录,从数据列中可以定义数据类型,大小,以及设置是否为空,是否为主键,是否只读等属性。
ADO.NET改进版是上一篇博客《ADO.NET理论+实践》的一个版本,主要是上一篇博客,总结的过于形式化,而没有把对它的总结与自己结合起来,所以对它进行改进。
ADO.NET改进版的更多相关文章
- ADO.NET数据访问技术
ADO.NET数据访问技术 就是将C#和MSSQLl连接起来的纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中,也可以将数据库中的数据提取到内存中供程序调用.是所有数据访问技术的基础. A ...
- ADO.NET 快速入门(一):ADO.NET 概述
ADO.NET 概述 ADO.NET是改进的ADO数据访问模型用于开发可扩展应用程序.他是专门为可伸缩性.无状态和XML核心的web而设计的. ADO.NET使用一些ADO对象,如Connecti ...
- ADO.NET对象的详解
1. Connection 类 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能 ...
- WebForm获取GET或者POST参数到实体的转换,ADO.NET数据集自动转换实体
最近在修改维护以前的webform项目(维护别人开发的.....)整个aspx没有用到任何的控件,这个我也比较喜欢不用控件所以在提交信息的时候需要自己手动的去Request.QueryString[] ...
- ADO.NET编程之美----数据访问方式(面向连接与面向无连接)
最近,在学习ADO.NET时,其中提到了数据访问方式:面向连接与面向无连接.于是,百度了一下,发现并没有很好的资料,然而,在学校图书馆中发现一本好书(<ASP.NET MVC5 网站开发之美&g ...
- ADO.NET一小记-select top 参数问题
异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 最近使用ADO.NET的时候,发现select top @count xxxx 不 ...
- .NET基础拾遗(6)ADO.NET与数据库开发基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基 ...
- 升讯威ADO.NET增强组件(源码):送给喜欢原生ADO.NET的你
目前我们所接触到的许多项目开发,大多数都应用了 ORM 技术来实现与数据库的交互,ORM 虽然有诸多好处,但是在实际工作中,特别是在大型项目开发中,容易发现 ORM 存在一些缺点,在复杂场景下,反而容 ...
- ADO.NET Entity Framework 在哪些场景下使用?
在知乎回答了下,顺手转回来. Enity Framework已经是.NET下最主要的ORM了.而ORM从一个Mapping的概念开始,到现在已经得到了一定的升华,特别是EF等对ORM框架面向对象能力的 ...
随机推荐
- structs2标签
Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的 ...
- Train Problem I(栈)
Train Problem I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- 在web应用程序中使用MemcachedClient
本文来自:http://www.cnblogs.com/yukaizhao/archive/2008/11/10/memcached_client_usage.html 一. 背景: 在大访问量的we ...
- iOS学习之iOS沙盒(sandbox)机制和文件操作(一)
1.iOS沙盒机制 iOS应用程序仅仅能在为该改程序创建的文件系统中读取文件,不能够去其他地方訪问,此区域被成为沙盒,所以全部的非代码文件都要保存在此,比如图像,图标,声音,映像,属性列表,文本文件等 ...
- ACdream OJ 1153 (k-GCD)
题目链接: http://115.28.76.232/problem?pid=1153 题意: 从给定的n个数中取出k个数,使得他们的最大公约数最大,求这个最大的公约数 分析: 暴力分解不可取,我们能 ...
- 看漫画,学 Redux
Flux 架构已然让人觉得有些迷惑,而比 Flux 更让人摸不着头脑的是 Flux 与 Redux 的区别.Redux 是一个基于 Flux 思想的新架构方式,本文将探讨它们的区别. 如果你还没有看过 ...
- 虚拟化之KVM的安装篇
1,在安装KVM之前,首先需要在自己的电脑开启cpu虚拟化技术(这个需要BIOS中设置). 如下操作都是在本人虚拟机中设置,所以可以看到我多添加一块磁盘,目的是用来做kvm虚拟机的磁盘. 另外,虚拟机 ...
- mysql 5.5源码包安装
注:由于mysql5.5的源码包安装与mysql之前的版本安装方法不同,故写一篇随笔记录.5.5的版本不再是./configure make make install 这里用到了cmake了,cmak ...
- for循环、穷举法和迭代
循环:初始条件,循环条件,状态改变,循环体.for(初始条件;循环条件;状态改变){ 循环体}for(int i=1;i<=10;i++){ }例子:100以内与7有关的数.求100以内所有数的 ...
- (转)Java字符串应用之密码加密与验证
1.通过java.Security.MessageDigest的静态方法getInstance创建具有指定算法名称的信息摘要,参数为算法名,传入”MD5“则表示使用MD5算法 2.Message ...