VB与数据库的连接方式总的来说分为2种:有源连接、无源连接。其中的源指的是ODBC数据源。数据源类型可分为文件DSN、用户DSN\系统DSN三类。(OLE DB作为数据的提供者。)
首先回顾一下微软的数据访问方式走过的几个阶段:
①ODBC(open Database Connectivity):是微软第一个使用SQL访问不同关系型数据库的访问技术。使用ODBC应用程序能够通过单一的命令操纵不同的数据库。而开发人员需要做的仅仅是针对不同的应用加入相应的ODBC驱动。
②DAO(Data Access Objects):不像ODBC那样是面向C和C++程序员的,它是微软提供给VB开发人员的一种简单地数据访问技术,用于操纵Access数据库。
③RDO(Remote Data Objects):在使用DAO访问不同的关系型数据库时,Jet引擎不得不在DAO和ODBC之间进行命令的转化,导致了性能的下降,而RDO的出现就顺理成章了。
④OLE DB:随着越来越多的数据以非关系型格式存储,需要一种新的架构来提供这种应用和数据源之间的无缝连接。基于COM(Component Object Model)的OLE DB应运而生。
⑤ADO(ActiveX Data Objects):基于OLE DB之上的ADO更简洁、更高级、更适合VB程序员,同时消除了OLE DB的多种弊端,取而代之是微软技术的发展趋势。
有源连接:首先通过配置ODBC数据源。然后采用ADO访问ODBC数据源,完成数据库连接.格式如下:
ConnectString = "FileDSN=student.dsn;UID=sa;PWD=1。(简单来说就是VB通过数据源来访问数据库。)
无源连接:ADO对象具体格式如下:
a.访问access数据库:
"Provider=Microsoft.Jet.OLEDB.4.0;"& "Data Source=" & App.Path & "\实例1.mdb;
b.访问SQL Server数据库:
Cnn3.Connectingstring="provider=Microfoft.Jet.OLEDB.4.0;DATASource=D:\数据库\实例1.mdb"
无论是有源连接还是无源连接,在使用ADO对象使用前必须引用。
先简单介绍一下什么是ADO?ADO是建立在OLE DB之上的高级数据库访问技术,是对OLE DB的封装,微软为我们提供了丰富的COM组件(包括Activex)来访问各种数据库特点是简单易用,这也是为什么大多数数据库应用软件开发者选择ADO的重要原因。
下面介绍一下ADO对象模型:
ADO*包含了7个对象,包括3个独立对象和依赖独立对象才能使用的4个非独立对象。(前三个:独立,后三个:非独立对象)
Connection:连接对象,用于与数据库建立连接执行查询及进行事务处理。在连接时必须制定使用何种数据库OLE DB提供者。
Command:命令对象,用于执行动作查询,比如创建/删除数据库。执行查询返回记录集、删除记录等操作。
Recordset:记录集对象,保存来自基本表或命令对象返回的结果。使用记录集对象几乎可以完成所有的数据操作
Field: 字段对象,依赖于记录集对象使用。可使用Fields集和来获得记录集中每个字段的信息。
Parmeter:参数对象:依赖于命令对象使用,用于为查询参数提供数据。同时使用参数对象和命令对象,可使数据库对查询进行预编译。从而提高执行速度。
Paroperty: 属性对象,每个连接对象、命令对象、记录集对象以及字段对象都有一个属性对象集和。使用属性对象可以访问特定对象的主要信息。例如获得数据库中表的名称。
Error:错误对象,依赖连接对象使用。如果在访问数据库的过程中发生错误。这些错误的信息便保存到连接对象的Errors集和中。使用错误对象来定义处理相应错误的措施,避免应用程序在执行过程中意外终止。
Connection对象的部分属性和方法如下:
ConnectionString属性:制定连接数据源的基本信息。
Open方法:打开数据源连接。
Close方法:关闭数据源连接。
Recordset对象的部分属性和方法如下:
ActiveConnection 属性:代表数据源的活动连接。通常将其设置为已建立的Connection对象。
Eof属性(end of file):测试当前记录位置是否位于记录集的最后一个记录之后,如果当前记录位于记录集的最后一个记录之后,Eof属性将返回True,否则返回False。
Open方法:用于打开记录集。
现在已经开始敲机房啦,但感觉有些敲不动,回来看看学过的知识,以前没有好好总结,所以现在重新回来审视一下自己学过的红皮书。