简述ADO和ef与ado.net的区别相同点和区别

1309人阅读
VB.NET(8)
& ADO.NET是ADO的后继版本,主要目的是在.NET Framework中更容易地创建分布式、
数据共享的应用程序,它提供了一个数据访问接口,以便和OLE DB数据源进行通信,如
SQL SERVER.应用程序可以使用ADO.NET连接这些数据源,并检索、处理和更新数据。
& 可以说ADO.NET是在ADO的基础上,又进一步的扩展,提供了更多新的工具,可以获取
一个真正断开连接的数据体系结构,可以将不同数据源中的数据组合起来,并优化了和
数据库交互的功能。
& 下面是ADO和ADO.NET之间一些数据访问功能的区别
内存表示方式
适用Recordset
使用DataSet对象
表之间关系
适用JOIN查询来组装数据
支持DataRelation对象,将表关联起来
适用.MoveNext方法顺序遍历
通过DataTable的Rows集合索引访问
默认情况下,通过调用OLEDB提供程序来和数据通信
可以通过OLEDB或者SQL SERVER数据提供数据通信
&为了进一步弄清楚ADO和ADO.NET的区别和相似处,下面来看一些代码。首先是ADO代
码,我们在第一次做机房收费系统的时候,用到过这些知识。该代码获取CESHI数据库中
User表中的Recordset,并在其中遍历,输出每一个用户名:
Private Sub GetUser()
Dim strSQL As String
Dim strConn As String
Dim objRS As ADODB.Recordset
Dim strResult As String
strConn = &provider=SQLOLEDB;Initial Catalog=CESHI;& _
& &data source=(local);user id=password=123456&
strSQL = &select * from btuser&
'创建一个Recordset实例
objRS = New ADODB.Recordset
With objRS
.cursorlocation = adUserClient
.CursorType = adOpenStatic
.open(strSQL, strConn)
Do Until .EOF
strResult = .Fields(&firstname&).value _
& && & .Fields(&Lastname&).value
.movenext()
objRS = Nothing
& 在ADO中通过Recordset对象来进行操作,下面来看看在ADO.NET中是如何操作的
Dim strSQL As String
Dim strConn As String
Dim objDA As SqlClient.SqlDataAdapter
Dim objDS As New Data.DataSet
Dim inCounter As Integer
Dim strResult As String
Dim objcommand As New SqlCommand
strConn = &initial catalog=CESHI;data source=(local);& _
& &user id=password=123456&
strSQL = &select * from tbuser&
objDA = New SqlDataAdapter(strSQL, strConn)
objDA.Fill(objDS)
With objDS.Tables(0)
For inCounter = 0 To .Rows.Count - 1
strResult = .Rows(inCounter).Item(&username&).ToString _
& && & .Rows(inCounter).Item(&password&).ToString
MessageBox.Show(strResult)
& 通过对比我们发现,其实连接字符串所使用的方法相同,不同的是把他们直接传送的
对象不同,在ADO.NET中,只不过换了下对象,比以前的操作更容易操作而已。

参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:308970次
积分:11082
积分:11082
排名:第1071名
原创:289篇
评论:3061条
文章:10篇
阅读:15424
阅读:5137
文章:12篇
阅读:12065
文章:10篇
阅读:6962
文章:13篇
阅读:9840
文章:11篇
阅读:7111
文章:12篇
阅读:18428
(1)(3)(4)(1)(3)(1)(10)(12)(5)(16)(21)(18)(20)(17)(2)(2)(3)(5)(13)(11)(4)(13)(3)(11)(6)(15)(15)(6)(7)(5)(3)(10)(9)(2)(7)(2)(8)(2)C#程序设计语言复习题(试题及答案版)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C#程序设计语言复习题(试题及答案版)
上传于||文档简介
&&引​用
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢ADO.NET 核心对象简介
来源:博客园
ADO.NET是.NET中一组用于和数据源进行交互的面向对象类库,提供了数据访问的高层接口。&#13;ADO.NOT类库在System.Data命名空间内,根据我们访问的不同数据库选择命名空间,System.Data.SqlClient。&#13;ADO.NET类最重要的优点是支持数据库以断开连接的方式工作。&#13;ADO.NET主要通过两个核心组件来完成对数据库的操作,分别是DataSet和.NET数据库提供程序。数据集,在命令空间:System.Data下。&#13;前者是ADO.NET断开式结构的核心组件,后者是专门为直接访问数据库,对其进行快速的只进,只读访问数据等数据处理而设计的组件。&#13;&#13;ADO.NET常用对象:&#13;Connection  连接数据库的通道&#13;Command  命令执行对象&#13;DataReader  数据读取器&#13;DataAdapter  数据适配器&#13;DateSet  数据在内存中的表现形式&#13; &#13;SqlConnection conn = new SqlConnection();  //创建Connection连接数据库对象&#13;conn.ConnectionString = "data sourse=.;initalial catalog=MySintegrated security="  //连接字符串&#13; &#13;SqlCommand cmd = new SqlCommand();  //创建Command命令执行对象&#13;<mandText = "SELECT * FROM dbo.Student";  //SQL语句&#13;cmd.Connection =  //绑定连接&#13;<mandType = CommandType.T  //确保字符串被正确解读&#13; &#13;conn.Open();  //打开连接&#13; &#13;SqlDataReader reader= cmd.ExecuteReader();  //执行命令&#13;while (reader.Read()){ &#13;do something &#13;}&#13;conn.Close();  //关闭连接&#13;reader.Close();&#13;
免责声明:本站部分内容、图片、文字、视频等来自于互联网,仅供大家学习与交流。相关内容如涉嫌侵犯您的知识产权或其他合法权益,请向本站发送有效通知,我们会及时处理。反馈邮箱&&&&。
学生服务号
在线咨询,奖学金返现,名师点评,等你来互动VB期末考试复习题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
VB期末考试复习题
上传于||暂无简介
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢简答题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 ef与ado.net的区别 的文章

 

随机推荐