VB与数据库“结合”

vb与数据库结合过程

相信小伙伴们在敲完了“学生管理系统”后,会留有一个问题(标题),这里我们来浅谈一下这个过程,而非内部结构中的复杂程度,我相信了解这些后我们可以理解的更加深刻。

首先我们在学习完VB课本后肯定了解有四种连接数据库的方式(data 控件、DAO对象、ADO data控件、ADO对象),其中的差别和联系这里就不一一介绍了,然后后面我们通过红皮书又了解到了OLE DB(更加底层的接口---宏观讲把它封装好就是ADO)和ODBC,这又是什么鬼?最终引出学生管理系统这个项目。终于将前面讲到的知识都用到了;一幅导图相信你会理解的更加透彻。


首先说说OLE DBODBC接下的不解之缘吧。

1:OLE DB针对的对象更加广泛-任何数据存储而ODBC仅仅是针对基于sql的数据源的。

2:但是由于ODBC使用的更加广泛,因此OLE DB获得的驱动程序相对比较少,但是确兼容访问ODBC的数据源

综上所述:ODBC相对来说是OLE DB的一个数据存储的一个子集,不仅仅需要符合ODBC的标准还需要符合OLE DB 的标准(service provider),类似于-sql server的ODBC驱动程序一样;只不过现在OLE DB 提供了一组统一的OLE DB服务程序(ODBC OLE DB provider),并且用来替代ODBC驱动程序管理器,并不会造成这个新型接口在ODBC 驱动程序之上的层次,从而造成问题。

再来一幅导图带我们来看看VB和sql server究竟是如何连接的!-数据库系统原理


不知道您看了这幅图片了解的怎么样了呢?肯定还是不知道上述两幅图中含义吧,辣么下面来聊聊其中的含义。

ADO(activex data object)

ADO一个面向对象的COM组件库(分为有源数据库和无源数据库),用ADO访问数据库,其实就是利用ADO中三个独立对象来操作数据库中的数据:分别为connection(指定数据源来源)、recordset(面向查询的结果(记录集,修改当前记录的位置来实现对数据库的访问))command(定义了一个可以在数据源上执行的命令或查询

三者配合的过程:首先通过发送设置链接的服务器同数据库的连接,连接后通过发送一个查询指令到服务器上面,最后数据库服务器执行查询,把查询到的数据存储到recordset,然后返回给对象

ODBC(open data base connectivity)

ODBC(ADO的前身),服务结构中有关数据库一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准APIapplication program interface)。大部分sql语句通过这个API接口来使得对ODBC的访问

创造原因:

早期的数据库连接是非常困难的.每个数据库的格式都不一样,开发者得对他们所开发的每种数据库的底层API有深刻的了解.因此能处理各种各样数据库的通用的API就应运而生了.也就是现在的ODBC

1:软件只能伴随数据库系统的版本而创造 2:统一软件不兼容不同的数据库类型

类型

用户dsn只能用于本用户;系统dsn(本地所有用户可以操作)和文件dsn(实现异地登录操作)的区别只在于连接信息的存放位置不同---系统dsn存放在odbc储存区里,而文件dsn则放在一个文本文件中。

执行过程

它通过使用相应应用平台上和所需数据库对应的驱动程序与应用程序的交互来实现对数据库的操作,避免了在应用程序中直接调用数据库相关的操作,从而提供了数据库的独立性

DAO(DataAccessObject)

即数据访问对象集,是Microsoft提供的基于一个数据库对象集合的访问技术。和ODBC一样,他们都是WindowsAPI的一部分,可以独立于(DBMS)进行数据库的访问。因为DAO绕过中间的环节,直接通过数据库引擎Microsoft jet database engine)完成对各种对象的操作,所以其执行速度较快


免责声明:以上就是我所了解的关于访问接口的信息,当然本篇博客仅仅作为自己理解,可能会和实际情况不符,只作为学习过程中的参考内容。感谢您的来访!

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...