VB6.0和VB.NET对比

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/luckystar_99/article/details/82820140

引言

不能简单认为VB .net是VB的新版本。首先VB .net是完全面向对象的语言,而另一个不是完全面向对象的,其次VB .NET是构建于.Net framework之上的。当然,它们同属Basic系列语言,又同为微软所开发,语法上有一定的相似或沿袭是很正常的,但不能因此认为VB .NET是VB的升级版。

在这里插入图片描述


对比学习


【数据访问】

  • 不同点主要表现在:数据访问技术,数据访问具体实现方法和数据绑定

  • 在数据访问技术上,VB6.0是通过ADO(Active X Date Object,即Active X数据对象)来实现对数据库的访问,同时也为了保证对早期版本的兼容,也提供RDO(远程数据对象)和DAO(数据访问对象)二种数据访问技术。VB.net使用ADO.net访问数据库,ADO.NET是.NET框架的一部分。其中vb.net也可以使用ADO来访问数据库,但是ADO在vb.net中是以COM组件的形式出现的。通过添加引用才可以在VB.NET中使用,添加引用的过程,就是对COM组件互操作。

  • 在数据访问的具体方法上,VB6.0实现数据的访问主要是两种方法:第一是在程序设计阶段,可通过把数据源绑定到ADODC控件和使用数据环境,第二在运行时,可以通过编程方式创建记录集RecordSet对象与记录集对象数据。vb.net在实现数据访问的时候也有两种方法:第一,在程序设计阶段,通过创建、配置数据适配器DataAdater和生成数据集DataSet;第二,通过编程方式动态创建、配置适配器和创建、生成数据集。

  • 在数据绑定(Date Bind)上,vb6.0通过这些控件来实现数据绑定:DataChanged、DataField、DataFormat、DataMember和DataSource.通常把控件的显示属性绑定到数据源中的相应字段。而在VB.net中,数据绑定的应用范围比较广泛,在vb.net中,可以将任何控件的任何属性绑定到包含数据的任何结构中。


【组件创建】

  • 在使用VB6.0和VB.NET编写应用程序的时候,虽然都可以从工具相中选择组件,通过拖入方式在应用程序中加入组件,但是二者在实现机理上却存在根本不同。

  • 在VB6。0中,应用程序中创建的组件全部是COM组件,即可在COM应用程序中使用ActiveX控件、ActiveX 类型的DLL 和 ActiveX类型的EXE。

  • 在VB.NET中,向窗体中拖入组件,都是基于继承,从,NET框架提供的SDK中相应的类继承,经过实例化后,通过添加功能才能把组件加入到设计窗体中。这些过程都可以在VB.NET的源代码中找到。VB.NET中使用的每一个组件都是从Component或Control基类派生出来的。


以上是关于V6.0和VB.NET的部分比较,当然还有其他的细节性的不同


  • 面相对象

vb.net 完全符合面向对象的编程语言抽象、封装、继承的四大特性,而vb不支持继承。

  • 错误处理

vb中只是On Error…goto和On Errer Resume Next ,这些错误称为非结构化异常处理。而在vb.net中采用的结构化异常处理机制,try…catch…finally控制。

扫描二维码关注公众号,回复: 4093204 查看本文章
  • 操作上的不同

VB.NET提供了灵活的读写文件功能,可以使用多种方法获得相同的结果。


总结


对于想从VB转到VB .NET的开发者来说,如果你只是喜欢Basic系列语言的代码风格,那么你的迁移会很顺利,如果你想沿袭之前VB的编程思想和习惯,你会很苦恼,原因之一就是VB .NET贯穿的是完全面向对象的思想,而VB不是。

微软为使VB开发者更容易转到VB .NET,兼容一些VB6函数和库的用法,但是比不上.NET语言中自带的可替换的函数和库来得高效,所以我们应该尽量使用.NET下的新方法。微软还提供了VB到VB .NET的自动转换器,虽几经改进,但仍无法转换全部代码,几乎所有非小型程序都需要人工修改以完成编译。为了运行优化,大多程序需要大量工作去重构。

猜你喜欢

转载自blog.csdn.net/luckystar_99/article/details/82820140