ADO.net的认识

看VB.net视频的时候涉及到了ADO.net的内容,总是感觉很熟悉,现在想起来这是我们在刚开始学习数据库的时候再红皮书上有介绍过ADO模型,这两者有很多相似的地方。

ADO.net(AxtiveX Data Objects)是一组和数据源进行交互的面向对的的类库一共包括6个。

他们之间有很多的相似,也有很多的不同。

连接和命令

两者的Connection和Command很相似,在Connection中定义要打开的数据源的字符串,Command用来执行增删改查命令,将查到的结果返回。Ado.net的Command有三种常用的方法,ExecuteReader()执行读写将Select的结果放在DataReader中、ExecuteScalar()可从相关的查询中返回第一行和第一列的值、ExecuteNonQuery()可以执行insert、delete、Update。

保存返回结果

返回的结果在ADO模型和ADO.net中保存的地方是不一样的。在ADO模型中是放在RecordSet中然后对结果在进          行操作,而ADO.net放在DataReader或DataSet中。

那么ADO.net的DataReader和DataSet的又有什么区别呢。

DataReader它只能够快速的向下读取Select语句得到的结果。而DataSet和RecordSet很相似,只是RecordSet相当一只表,DataSet是多个表集合,包含了多个DataTable,而DataTable就像一个普通的数据库中的表,所以可以完成各种操作。还要注意DataSet是一个离线式的RecordSet,它能够帮助管理在内存中的数据。

DateSet中的数据需要由DataAdapter进行填充,对每一个DataSet的Table都会定义一个DataAdapter。使用如下:(各使用的变量已经定义好)

Sql=”Select * From Table1”    ‘定义SQL语句
Conn = newsqlConnection(strconn)             ‘定义一个连接
Cmd= newSqlCommand(sql,Conn)              ‘定义好一个命令
Dim Adataset As New DataSet   '定义一个DataSet可以用来储存查到的结果
Dim adaptor As SqlDataAdapter   '用将查到的结果填到DataSet中
Dim adatatable As New DataTable   '定义新的表,在DataSet中可以存放多张表
Conn.Open()
adaptor.Fill(Adataset, "set") '将结果填写到DataSet中名为set的表中
adatatable = Adataset.Tables("set") '将结果以表的形式赋给定义的Table
Conn.Close()
Return adatatable       <span style="font-family: Arial, Helvetica, sans-serif;">‘返回表</span>
时间: 12-05

ADO.net的认识的相关文章

ODBC、ADO

一.VC访问数据库的技术 1.ODBC --Open Database Connectivity微软开放式数据互联,一组用于访问和操作数据库的API,可以访问不同的数据库产品,但只能访问关系型数据库.MFC将这组API函数封装成ODBC类,使用前需要将不同的数据库设置为ODBC数据源. 2.DAO --基于ODBC的,目前已经被淘汰 3.OLE DB  --基于COM技术的,提供了一组用于访问和操作数据库的接口.既可以访问关系型又可以访问非关系型数据,性能也有了很大提高.缺点是学习难度大,对程序

一种利用ADO连接池操作MySQL的解决方案(VC++)

VC++连接MySQL数据库 常用的方式有三种:ADO.mysql++,mysql API ; 本文只讲述ADO的连接方式. 为什么要使用连接池? 对于简单的数据库应用,完全可以先创建一个常连接(此连接永远不关闭,直接数进程退出),但是这样做至少会引起两个问题:(1)资源竞争,多个数据库请求操作不能同时进行,后一请求必须要等到前一请求完成后才能进行:(2)多线程情况下容易出现混乱,甚至出现资源异常释放.还有一种方法,就是使用数据库时创建连接,使用完后关闭连接回收资源.这种方式在数据库操作频繁的情

巩固ADO.NET

回想一年半前学数据库的时候是找的培训视频看的,大概10天视频(有一半多时间关于数据库操作的winform)的内容看完后数据库这块就没有了,还以为自己学的挺好,现在想想真是傻的可爱.虽然以ADO.NET为基础的EF挺好用的,但抽时间好好巩固下基础我觉得很重要.不废话了,ADO.NET提供对SQL.Oracle和MySql等数据库的访问操作,它有2个重要的组成部分:.NET数据提供程序和数据集DataSet. 1.什么是ADO.NET .NET数据提供程序就是一个类集,本质的功能就是用于连接数据库.

CRUD Operations In ASP.NET MVC 5 Using ADO.NET

Background After awesome response of an published by me in the year 2013: Insert, Update, Delete In GridView Using ASP.Net C#. It now has more than 140 K views, therefore to help beginners I decided to rewrite the article i with stepbystep approach u

异常:error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name &#39;System.Data.SqlClient&#39;

error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient' error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'. Make sure the pro

ADO.NET

1.vb.net: vb.net自身并不具备对数据库进行操作的功能,它对数据库的处理通过.NET Framwork SDK中面向数据库编程的类库和微软的MDAC 来实现的,其中ADO.NET 是.NET Framwork SDK重要组成部分.它是.NET Framwork SDK中用以操作数控的类库的总称. 2.ado.net     1.命名空间:在使用前先引用 imports system.data imports system.sqlclient 2.ado.net的核心内容 Connec

数据库的连接使用——使用ADO.NET连接数据库

一.ADO.NET简介 ADO.NET是由很多类组成的一个类库,这些类库提供了很多对象,用来完成数据的连接.查询.插入.更新和删除等操作.其中主要包括以下对象: 1.Connection对象:用来连接到数据库(OLE DB使用OleDbConnection,SQL SERVER使用SqlConnection) 2.Command对象:用来对数据库执行SQL命令,如插入.删除.修改.查询 3.DataReader对象:用来从数据库返回只读数据 4.DataAdapter对象:与DataSet对象结

.NET Core中ADO.NET SqlClient的使用与常见问题

一.简介 在很多要求性能的项目中,我们都要使用传统的ADO.NET的方式来完成我们日常的工作:目前有一些网友问有关于.NET Core操作SQL Server的问题在本文中解答一下. 本文旨在指出,在.NET Core中使用ADO.NET SqlClient操作SQL SERVER数据库时的一些常见的问题,在本文的第三部分,如果只关心解决问题,请跳过第两部分进行阅读. 二.使用ADO.NET 首先建立好一个ASP.NET MVC Core Project 或 .NET Core Class Li

ADO.NET数据访问技术概览

1. 以数据为中心的应用程序设计 1.1. ADO.NET 支持下列的存储类型? 无结构? 有结构, 无层次的数据 – 以逗号分离的数据(CSV) 文件.Microsoft Excel 电子表格.Microsoft Exchange 文件.Active Directory 文件等? 有层次的数据 – XML 文档等? 关系型数据库 – SQL Server.Oracle.Access 等. 1.2. 连接环境? 连接环境是指用户在这种环境下始终保持与数据源的连接? 优点 – 环境易于实施安全控制

使用ADO实现BLOB数据的存取 -- ADO开发实践之二

使用ADO实现BLOB数据的存取 -- ADO开发实践之二 http://www.360doc.com/content/11/0113/16/4780948_86256633.shtml 一.前言 在上一篇文章<>中我们详细介绍了ADO基本的操作方法,在实际的开发过程中我们常常需要存储较大的二进制数据对象,比如:图像.音频文件.或其它二进制数据,这些数据我们称之为二进制大对象BLOB(Binary Large Object),其存取的方式与普通数据有所区别.本文将介绍利用ADO在数据库中存取B