VB最引人注目的特点,也是其最令程序员关心的地方,就是它访问多种的强大功能。VB中将非MS Access数据库称为外来数据库(External Database),如dBASE、FoxPro、ODBC等。VB中使用数据控制访问外来数据库同访问Access数据库类似,这里不再赘述,现在主要读一下用生成对象的方法来访问外来数据库。访问外来数据库((以dBASE为例)大致分为以下几步:

第一步:建立一个Access型数据库,并在数据库中创建新表即为附加表。通过设置

附加表的各属性值,使其与你所要访问的数据库建立链接关系。程序代码如下:

DimDbasDatabase

DimTdasNewTabledef

SetDb=OpenDatabase("MYDB.MDB")

Td.Connect="dBASE:DATABASE=c:DATADIR"

Td.SourceTableName="AU THOR"

Td.Name="dBASEAuthorTable"

Db.tabledefsAppendTd

Db.close

第二步:设置INI文件路径。在VB的程序中使用了访问外来数据库操作,将应用程序生成EXE文件后,必须提供一个INI文件。若找不到这个INI文件,将会导致不能访问数据库,并出现NOTFOUNDIN STOLLABKISAMS的错误信息。设置INI文件路径后,VB的程序会在WINDOWS子目录中寻找与应用程序同名的INI文件。设置INI文件路径代码为:

SetDataAccessOption1,PathFilename

第三步:编辑.INI文件可对不同种类的数据库进行设置,下面为一INI文件代码:

Options]

SystemDB=c: MyPATHSYSTEM.MDA

ISAM]

PageTimeout=5

MaxBufferSize=128

LockRetry=20

CommitLockPetry=20

ReadAheadPages=16

InstallableISAMs]

Paradox3.x=C:VBpdx110.DLL

FoxPro2.0=C:VBxbs110.DLL

FoxPro2.5=C:VBpdx110.DLL

dBASE=C:VBpdx110.DLL

dBASE=C:VBpdx110.DLL

Btrieve=C:VBtrv110.DLL

ParadoxISAM]

PageTimeout=600

ParadoxUsername=BaiUser

ParadoxNetPath=P:PDXDB

CollatingSeguence=Ascii

dBASE]

centry=off

Data=American

Mark=47

Deleted=on

这样通过访问新数据库MYDB.MDB和表DBASEAU THORTABK即可访问你所要访问的外来数据库了。

使用这种方法访问外来数据库应该注意的是,附加表在所加到的数据库中只是建立了一个链接关系,表的实际所在,仍然存在于原数据库中,该表在所附加到的数据库中被删除时,只是删掉了链接关系,实际的表并没有被删除。