非Access数据库在VB中的编程及利用[Access防范]
本文“非Access数据库在VB中的编程及利用[Access防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
存取对象变量库构造作为一个功效较完备的Windows软件开辟平台,Visual Basic专业版供应了对数据库利用的强盛支持.特别供应了利用数据控件和绑定掌握项,利用数据库存取对象变量(Data Access Object Variable),直接调用ODBC 2.0 API接口函数等三种拜候数据库的办法.对其尺度内置的Ms Access数据库,它可以供应不弱于专业数据库软件的支持,可以举行完好的数据库保护、操作及其事件处理.在VB中,将非Access数据库称为外来数据库.关于FoxPro、dBASE、Paradox等外来数据库.固然借助VB的Data Manager 可以对这些数据库举行NEW、OPEN、DESIGN、DELETE等操作,但在利用程序的运行状况中并不能从底层真正实现这些功效.本文从利用数据库存取对象变量的办法动身,实现了非Access格局数据库(以FoxPro数据库为例)的建新库、拷贝数据库构造、动态调入等操作,阐述了从编程本领上补偿VB对这些外来数据库支持不足的可行性 .
1、VB数据库的体系构造具体的VB的数据库构造.
VB数据库的核心构造是所谓的MicroSoft JET数据库引擎,JET引擎的作用就像是一块"面板",在其上可以插入多种ISAM(Indexed Sequential Access Method,即索引次序存取方 法) 数据驱动程序.JET引擎为Access格局数据库供应了直接的内部(build-in)支持,这就是VB对Access数据库具有丰富支持的真正缘由.
VB专业版中供应了FoxPro、dBASE(或 Xbase)、Paradox、Btrieve等数据库的ISAM驱动程序,这就使得VB能支持这些数据库格 式.别的,其他的很多兼容ISAM的驱动程序也可以通过从厂商的售后服务得到.因而从理论上说,VB能支持全部兼容ISAM的数据库格局(前提是只需得到这些数据库的ISAM驱动接口程序).
由上可见,Ms JET引擎实质上供应了:一个符合ANSI尺度的语法解析器;为查询后果集的利用而供应的内存管理功效;同所支持的数据库的外部接口;为利用代码供应的内部接口.实际上,在VB中从一种数据库范例转化为另一种数据库范例几近不需求或只需求很少的代码改正.并且,固然dBASE、Paradox本身的DDL (Data Definition Language,即数据定义语言)和DML(Data Manipulation Language,即数据操作语言)是非构造化查询的,但它们仍旧可以利用VB的SQL语句和JET引擎来操作.
从VB的程序代码的角度来看,ODBC,ISAM驱动程序以及Ms Access数据库的整个外部构造够可以统一为一个一致的编程接口.也便是说,供应应VB利用程序员的记录集对象视图同所利用的数据库格局及范例是彼此独立的.即对FoxPro等数据库仍旧可以利用众多的数据库存取对象变量,这就为非Access数据库的拜候供应了最重要的办法.
二 、利用非Access数据库时的参数设置及配置文件的参数读取假如在VB的程序中利用了数据库的操作,将利用程序生成EXE文件或打包生成安装程序后,则必须供应一个配置 (.INI)文件,在INI文件中可以对差别范例的数据库举行设置.假如找不到这个INI文件, 将会招致不能拜候数据库.普通情形下,INI文件的文件名和利用程序的名称相同,所以假如没有指明,VB的程序会在Windows子目录中去找和利用程序同名的INI文件.可以利用VB中的SetDataAccessOptions语句来设置INI文件.
SetDataAccessOptions语句的用法以下:SetDataAccessOptions 1 ,IniFileName此中IniFileName参数指明的是INI文件的带途径的文件名.值得注意的是,当利用程序找不到这个INI文件时,或在调用 OpenDataBase函数时对其Connect参数值没有设定为VB规定的尺度值,如对FoxPro 2.5格局设定为了" FoxPro;"(应为" FoxPro 2.5; "),大概没有安装呼应的ISAM驱动程序,则此时VB会显示一条错误信息" Not Found Installable ISAM ".普通,INI文件在利用程序分发出去从前已经生成,大概在安装时动态生成,也可以在利用程序中自己生成. 普通这种 INI文件中有" [Options]"、"[ISAM]"、" [Installed ISAMs]"、"[FoxPro ISAM]"、"[dBASE ISAM] " 、" [Paradox ISAM] "等设置段,关于一个完好的利用程序则还应有一个属于利用 程序自己的设置段如" [MyDB]".可在此中设置DataType、Server、DataBase、 OpenOnStartup、DisplaySQL、QueryTimeOut等较为重要的数据库参数,并以此限定利用程序普通的运行环境. Windows API接口函数在Kernel.exe动态链接库中供应了一个OSWritePrivateProfileString函数,此函数能按Windows下配置文件(.INI)的书写格局写入信息.
在普通情形下,利用程序还需求在运行时读取配置文件内相关项的参数.比方PageTimeOut(页加锁超不时限)、MaxBufferSize(缓冲区大小)、LockRetry(加锁失利时重试次数)等参数,通过对这些参数的读取对利用程序运行环境的设定、潜在错误的捕捉等均会有很大的改进.
三 、数据存取对象变量对外来数据库编程的办法及其实例在VB专业版数据库编程的三种办法中,第二种-利用数据库存取对象变量(DAO)的办法最具有功效强盛、机动的特点. 它可以在程序中存取ODBC 2.0的管理函数;可以掌握多种记录集范例:Dynaset,Snapshot 及Table记录调集对象;可以存储历程和查询行动;可以存取数据库调集对象,比方 TableDefs,Fields,Indexes及QueryDefs;具有真正的事物处理本领.因而,这种办法对数据库处理的大大都情形都非常实用.
由于VB中的记录集对象与所利用的数据库格局及范例是彼此独立的,所以在非Access数据库中也可以利用数据库存取对象变量的办法.因而 对FoxPro等外来数据库而言,利用数据库存取对象变量的办法一样也是一种最佳的挑选. 有一点需求注意的是,VB的尺度版中仅能利用数据控件(Data Control)对数据库中的记录举行拜候,主要的数据库存取对象中也唯一Database、Dynaset对象可通过数据控件的属 性供应,别的的重要对象如TableDef、Field、Index、QueryDef、Snapshot、Table等均不能在VB的尺度版中生成,所以利用数据存取对象变量的办法只能用VB 3.0以上的专业版.
以上是“非Access数据库在VB中的编程及利用[Access防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |