社区编辑申请
注册/登录
简要分析VB和VB.NET区别
开发 后端
这里就VB和VB.NET主要从数据访问、Web开发和组件创建三个方面来简要谈谈二者的区别,希望可以给大家带来帮助。

现在随着VB.NET的发展,大部分人都放弃使用VB而选择VB.NET,下面我们就来研究一下VB和VB.NET的区别。VB.NET是微软公司在2002年推出的一种开发基于.Net平台应用程序的开发语言,也是微软公司极力推荐的一种开发.Net平台应用程序的开发语言。首先还是让我们来简单了解一下VB.NET和其前一个版本,也是目前世界上拥有最多使用者的开发语言--VB 6.0的主要区别。

VB和VB.NET的主要区别
#T#虽然说VB.NET是VB 6.0的后继版本,但在我看来VB.NET
除了在语法上还保留VB原有的踪影以外,因为二者几乎在90%以上保持相似或相同。但在其他很多方面,VB.NET都和VB截然不同。也许正是这些不同点,才使得VB.NET功能更强大,更有生命力,但同样也为VB程序员转型为为VB.NET程序员带来了困难。因为VB.NET提出了很多新的功能、概念和观点,掌握VB.NET不仅要掌握语法,还需要理解并运用这些新的功能、概念和观点。当然也需要掌握.Net框架,理解CLR(Common Language Runtime,通用语言进行时)。下面就从数据访问、Web开发和组件创建三个方面来简要谈谈二者的区别:

1. 数据访问

不同点主要表现在:数据访问技术、数据访问具体实现方法和数据绑定上的不同。

在数据访问技术上,VB 6.0是通过ADO(Active X Data Object,即:Active X数据对象)来实现对数据库访问的。同时为了保证对早期版本的兼容,也提供RDO(远程数据对象)和DAO(数据访问对象)二种数据访问技术。在 VB.NET中是使用ADO.NET来访问数据库,ADO.NET是.NET框架的一部分,其对应的类库是.Net FramWork SDK的真子集。ADO和ADO.NET这两种技术在概念、功能和实现上都有许多差异。由于篇幅所限,这里就不一一介绍了。其实在VB.NET中也可以使用ADO来访问数据库,但ADO在VB.NET中是以COM组件的形式出现的,通过添加引用才可以在VB.NET中使用。添加引用的过程,其实就是对COM组件互操作。经过互操作后的COM组件,已经并非先前意义上的COM组件,而是转变成可供VB.NET直接使用的.Net类库。

在数据访问的具体实现方法上,VB 6.0实现数据访问主要是两种方法:其一是在程序设计阶段,可通过把数据源绑定到ADODC控件或使用数据环境;其二在运行时,可以通过编程方式创建记录集RecordSet对象并与记录集对象交换数据。同样在VB.NET中实现数据访问的方法主要也是二种:其一是在程序设计阶段,通过创建、配置数据适配器DataAdapter和生成数据集DataSet;其二在运行中,通过编程方式动态创建、配置数据适配器和创建、生成数据集。

在数据绑定(Data Bind)上,在VB 6.0中实现数据绑定通过设置控件的下列属性来实现:DataChanged、DataField、DataFormat、DataMember 和 DataSource。通常是把控件的显示属性绑定到数据源中的相应字段。在VB.NET中,数据绑定的应用范围可广泛得多,VB.NET中可以将任何控件的任何属性绑定到包含数据的任何结构中。

2. Web开发

VB是使用Active Server Page(简称ASP)来创建在 Web应用程序。在ASP中,编写Web页面并非纯正的VB语言,而是VB脚本语言--VBScript。在VB.NET中是使用ASP.NET技术来编写Web页面。在ASP.NET中使用的也不再是脚本语言,而是真正意义编程语言,其中就可以是VB.NET。开发过ASP页面的朋友都清楚,虽然编写ASP页面对开发工具要求很低,但由于其是面向过程式开发,所以稍微复杂一点的ASP代码都显得杂乱无章,这都给程序设计、调试、修改带来了麻烦。而VB.NET是建立在新的框架结构上,VB.NET完全支持Web编程。凭借ASP.NET的Web 应用程序、XML Web services等等基于Web上的功能,使得VB.NET开发Web 页面与开发Windows编程很相似,Web页面代码也不显得有条有理了。

3. 组件创建

在使用VB 6.0和VB.NET编写应用程序时,虽然都可以通过从工具箱中选择组件,通过拖入方式在应用程序中加入组件,但二者在实现机理上却存在根本不同。在VB 6.0中,应用程序中创建的组件全部是COM组件,即可在COM应用程序中使用的ActiveX控件、ActiveX 类型的DLL 和 ActiveX类型的EXE。而在VB.NET中,向窗体中拖入的组件,都是基于继承,从.Net框架提供的SDK中相应的类继承,经过实例化后,通过添加功能才把组件加入到设计窗体中。这些过程都可以在VB.NET的源代码中找到。VB.NET中使用的每一个组件都是从Component或Control基类派生出来的。

当然VB和VB.NET之间还存在很多差别,如:VB 6.0 只提供单线程模式,并不支持多线程。而在VB.NET全面支持多线程。并且在VB.NET中还增加了结构化异常处理等新的功能。所以对于那些VB的程序员,从VB程序员转型到VB.NET就有极强的必要性,下面就简要介绍一下这种必要性。

责任编辑:田树 来源: 博客
相关推荐

2009-10-10 17:36:47

VB转型到VB.NET

2009-10-14 10:25:52

VB.NET读写文本文

2009-10-22 16:46:03

VB.NET初步知识

2009-10-10 17:06:09

VB和VB.NET

2010-01-21 14:49:44

VB.NET操作Wor

2009-10-29 14:02:24

VB和VB.NET比较

2011-05-19 09:20:21

2009-10-12 15:41:09

VB.NET动态代码

2009-10-10 15:19:43

VB.NET Web

2009-10-09 16:00:34

VB6.0开发

2009-10-14 14:50:16

VB6.0VB.NET

2009-10-28 10:06:29

VB.NET With

2009-11-02 15:57:36

VB.NET WEB

2009-10-12 13:11:48

2009-10-15 10:57:16

VB.NET Text

2009-10-27 18:06:41

VB.NET开发控件

2009-10-23 15:35:42

VB.NET实用教程

2009-10-23 12:53:25

VB.NET语言

2009-10-21 09:10:52

VB.NET压缩

2009-10-09 15:59:41

VB.NET对象

同话题下的热门内容

太强了!Python 开发桌面小工具,让代码替我们干重复的工作!Python轻量级Web框架:Bottle库!Python居然被用来开发游戏了?盘点你想不到的Python开发场景用了那么久的Lombok,你知道它的原理么?实战 | 如何用 Python 自动化监控文件夹完成服务部署!Fury:一个基于JIT动态编译的高性能多语言原生序列化框架细思恐极,插上U盘就开始执行Python代码太全了!用Python操作MySQL的使用教程集锦!

编辑推荐

使用Kotlin做开发一个月后的感想面试官问你什么是消息队列?把这篇甩给他!五大自动化测试的Python框架图文详解两种算法:深度优先遍历(DFS)和广度优先遍历(BFS)2018年最流行的十大编程语言,其中包括你用的语言吗?
我收藏的内容
点赞
收藏

51CTO技术栈公众号