VB两种操作Access数据库方法的比较

VB两种操作Access数据库方法的比较,第1张

VB两种操作Access数据库方法的比较,第2张

在VB编程中,我们通常要和数据库打交道。对于数据量较小的应用,一般选择Access作为数据库,因为Access数据库比较简单,功能比较齐全,数据备份和复制非常方便,而且在程序发布时不需要单独安装其他数据库管理软件。因此,在功能能够满足要求的情况下,Access数据库往往成为一些小型数据库软件的首选。

用VB操作Access数据库表有很多种方法。一般初学者经常使用数据控件,很多资料大多以此作为操作Access数据库的起点。因为这种方法使用起来非常简单,所以使用数据控件的方法在程序编码中往往不够灵活。现在介绍另外两种操作Access数据库的方法。

第一个是使用数据库对象。

首先,声明数据对象,代码如下。

Dim MyWs As Workspace
Dim MyDB As Database
Dim word tab As Recordset

生成工作区,打开数据库,然后根据需要打开相应的库表。

set myws = dbengine . create workspace " " admin " " dbusejet
set mydb = myws . open database数据库名称false false
set wordtab = mydb . open recordset "表名" dbopendynaset

这种方法的优点是代码比较简单,需要的环境是DAO 2.5/3.51,其中表名可以改成SELECT语句,即根据条件打开需要的记录集。这种方法可以从数据控制中分离出来,方便灵活地操作数据库表,增加了程序的灵活性。

提示:测试后发现该方法只能打开Access97库表,对Access2000库表无能为力,会弹出库表格式不正确的错误提示。此外,对数据环境还有很多要求。

第二:使用ADODB。

首先,声明一个链接变量,如有必要,还声明一个记录集变量。

将LocCnn1调成ADODB。连接
Dim LocRst1 As ADODB。记录集

建立与数据库的链接。如果数据库中没有密码,最后一行可以留空(写出来不会错)。

设置LocCnn1 = New ADODB。连接
loc cn1。Open ″Provider=Microsoft。jet.oledb.4.0userid=admin″& _
"数据源= "& app。路径& " \数据库的名称。MDB " & _
" mode = share deny none扩展属性= ' ' persistsecurityinfo = false " & _
" jetoledb数据库密码=' asp561rbc ' "

这种方法虽然代码较长,但对数据环境要求低,结构清晰,大大减少了发布程序的数量。由于链接SQL Server等数据库的方法是一样的,所以大量操作数据库的代码都是一样的。当数据库需要从Access扩展到一些大型数据库,或者从一些大型数据库中裁剪出一个简单的数据库时,移植程序会更加方便。

此外,该方法可以同时支持Access97和Access2000,具有良好的兼容性。对于大量的插入、删除、修改等操作,只能在连接层完成,既提高了速度又减少了代码。

如果要获取特定的记录集内容,必须根据条件打开特定的库表。代码如下:

set loc rst 1 = new adodb . recordset
loc rst 1 . cursortype = adopenkeyset
loc rst 1 . lock type = adlock optimal
loc rst 1 . open " select from table name " loccn 1 ADC mdtext "

提示:一般情况下,推荐第二种方法。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » VB两种操作Access数据库方法的比较

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情